aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2017-05-19 15:08:45 +0200
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2017-05-19 15:08:45 +0200
commit6e7e1744e96abbf1a4229d5f269caf2cc921ec58 (patch)
tree7e9a4ab80d0472d557fb0b98bf47cc867dbdf53c /gdb/gdb_curses.h
parentFix tui compilation with Solaris libcurses: non-const last arg to mvwaddstr (... (diff)
downloadbinutils-gdb-6e7e1744e96abbf1a4229d5f269caf2cc921ec58.tar.gz
binutils-gdb-6e7e1744e96abbf1a4229d5f269caf2cc921ec58.tar.bz2
binutils-gdb-6e7e1744e96abbf1a4229d5f269caf2cc921ec58.zip
Fix tui compilation with Solaris libcurses: clear define (PR tui/21482)
On both mainline and the 8.0 branch, gdb compilation fails on Solaris 10 with the native libcurses like this: In file included from /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/gdb_curses.h:42: 0, from /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/tui/tui-data.h:2 6, from /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/tui/tui-disasm.c :31: /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/tui/tui-disasm.c: In function `CORE_A DDR tui_disassemble(gdbarch*, tui_asm_line*, CORE_ADDR, int)': /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/tui/tui-disasm.c:71:19: error: `class string_file' has no member named `wclear'; did you mean `clear'? gdb_dis_out.clear (); ^ /vol/src/gnu/gdb/gdb-8.0-branch/local/gdb/tui/tui-disasm.c:78:19: error: `class string_file' has no member named `wclear'; did you mean `clear'? gdb_dis_out.clear (); ^ make[2]: *** [Makefile:1927: tui-disasm.o] Error 1 It turned out this happens because <curses.h> has #define clear() wclear(stdscr) This can be avoided by defining NOMACROS, which the patch below does. ncurses potentially has a similar problem, which can be avoided by defining NCURSES_NOMACROS. PR tui/21482 * gdb_curses.h (NOMACROS): Define. (NCURSES_NOMACROS): Define.
Diffstat (limited to 'gdb/gdb_curses.h')
-rw-r--r--gdb/gdb_curses.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/gdb_curses.h b/gdb/gdb_curses.h
index 16442c7cecd..72fafe309ba 100644
--- a/gdb/gdb_curses.h
+++ b/gdb/gdb_curses.h
@@ -32,6 +32,13 @@
#undef KEY_EVENT
#endif
+/* On Solaris and probably other SysVr4 derived systems, we need to define
+ NOMACROS so the native <curses.h> doesn't define clear which interferes
+ with the clear member of class string_file. ncurses potentially has a
+ similar problem and fix. */
+#define NOMACROS
+#define NCURSES_NOMACROS
+
#if defined (HAVE_NCURSES_NCURSES_H)
#include <ncurses/ncurses.h>
#elif defined (HAVE_NCURSES_H)