aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2020-08-22 00:20:55 +0200
committerMark Wielaard <mark@klomp.org>2020-08-23 12:14:34 +0200
commitb8fff44e0e2e43e1823413eec7c5f6fa9d219ce7 (patch)
tree4cb2342ee453f6e5826e0305f3130469066e1f2b
parentcee12b773a5b34883884879b9fec091bbb02bc97 (diff)
downloadfsf-binutils-gdb-b8fff44e0e2e43e1823413eec7c5f6fa9d219ce7.zip
fsf-binutils-gdb-b8fff44e0e2e43e1823413eec7c5f6fa9d219ce7.tar.gz
fsf-binutils-gdb-b8fff44e0e2e43e1823413eec7c5f6fa9d219ce7.tar.bz2
ada-lex.l: Ignore register diagnostic also for g++ defaulting to ISO C++17
Building with a really old flex and a really new g++ is probably not recommended, but it should not cause compile errors. gdb/ChangeLog: * ada-lex.l: Extend register warnings diagnostics comment for g++. include/ChangeLog: * diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER): Also define for GCC version 7.0 or higher.
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/ada-lex.l4
-rw-r--r--include/ChangeLog5
-rw-r--r--include/diagnostics.h5
4 files changed, 17 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2e0534e..a01a97f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2020-08-21 Mark Wielaard <mark@klomp.org>
+
+ * ada-lex.l: Extend register warnings diagnostics comment for g++.
+
2020-08-22 Simon Marchi <simon.marchi@efficios.com>
* frame.c (enum class frame_id_status): New.
diff --git a/gdb/ada-lex.l b/gdb/ada-lex.l
index 1e4bc20..edf2880 100644
--- a/gdb/ada-lex.l
+++ b/gdb/ada-lex.l
@@ -45,7 +45,9 @@ POSEXP (e"+"?{NUM10})
/* Some old versions of flex generate code that uses the "register" keyword,
which clang warns about. This was observed for example with flex 2.5.35,
- as shipped with macOS 10.12. */
+ as shipped with macOS 10.12. The same happens with flex 2.5.37 and g++ 11
+ which defaults to ISO C++17, that does not allow register storage class
+ specifiers. */
DIAGNOSTIC_PUSH
DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
diff --git a/include/ChangeLog b/include/ChangeLog
index d0475de..53597cf 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+2020-08-21 Mark Wielaard <mark@klomp.org>
+
+ * diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER): Also define
+ for GCC 7.0 or higher.
+
2020-08-10 Alex Coplan <alex.coplan@arm.com>
* opcode/aarch64.h (AARCH64_MAX_SYSREG_NAME_LEN): New.
diff --git a/include/diagnostics.h b/include/diagnostics.h
index 82d871b..0f0a33c 100644
--- a/include/diagnostics.h
+++ b/include/diagnostics.h
@@ -63,6 +63,11 @@
#elif defined (__GNUC__) /* GCC */
+# if __GNUC__ >= 7
+# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER \
+ DIAGNOSTIC_IGNORE ("-Wregister")
+# endif
+
# define DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION \
DIAGNOSTIC_IGNORE ("-Wstringop-truncation")