From 27761cd3c7ede573eca3668f22108b126ba5345b Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Wed, 30 Apr 2025 16:48:00 +1200 Subject: gdb: Add patch for C23 support Add a patch that updates some function definitions to be compliant with C23. Signed-off-by: Chris Packham --- ...eadline-tcap.h-Update-definitions-for-C23.patch | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 packages/gdb/16.3/0001-readline-tcap.h-Update-definitions-for-C23.patch (limited to 'packages') diff --git a/packages/gdb/16.3/0001-readline-tcap.h-Update-definitions-for-C23.patch b/packages/gdb/16.3/0001-readline-tcap.h-Update-definitions-for-C23.patch new file mode 100644 index 00000000..d62b2fc7 --- /dev/null +++ b/packages/gdb/16.3/0001-readline-tcap.h-Update-definitions-for-C23.patch @@ -0,0 +1,49 @@ +From 11d45226114bf2e1405964c81c7610a8d6074947 Mon Sep 17 00:00:00 2001 +From: Chris Packham +Date: Wed, 30 Apr 2025 16:37:48 +1200 +Subject: [PATCH] readline/tcap.h: Update definitions for C23 + +C23 changes how function definitions like int `int tputs ()` are +interpreted. In older standards this meant that the function arguments +are unknown. In C23 this is interpreted as `int tputs (void)` so now +when we compile with GCC15 (which defaults to -std=gnu23) we get an +error such as + + readline/display.c:2839:17: error: too many arguments to function 'tputs'; expected 0, have 3 + +Add the function arguments for tgetent(), tgetflag(), tgetnum(), +tgetstr(), tputs() and tgoto(). + +Signed-off-by: Chris Packham +--- + readline/readline/tcap.h | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/readline/readline/tcap.h b/readline/readline/tcap.h +index 859e6eed5aa..9e2ed124e49 100644 +--- a/readline/readline/tcap.h ++++ b/readline/readline/tcap.h +@@ -46,14 +46,14 @@ extern char *UP, *BC; + + extern short ospeed; + +-extern int tgetent (); +-extern int tgetflag (); +-extern int tgetnum (); +-extern char *tgetstr (); ++extern int tgetent (char *bp, const char *name); ++extern int tgetflag (char *id); ++extern int tgetnum (char *id); ++extern char *tgetstr (char *id, char **area); + +-extern int tputs (); ++extern int tputs (const char *str, int affcnt, int (*putc)(int)); + +-extern char *tgoto (); ++extern char *tgoto (const char *cap, int col, int row); + + #endif /* HAVE_TERMCAP_H */ + +-- +2.49.0 + -- cgit v1.2.3