ada-lex: Ignore warnings about register keyword

Some older versions of flex (such as the one shipped with macOS) generate
code that use the register keyword, which clang warns about.  This patch
makes the compiler ignore those warnings for the portion of the code
generated by flex.

gdb/ChangeLog:

	* common/diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER):
	New macro.
	* ada-lex.l: Ignore deprecated register warnings.
This commit is contained in:
Simon Marchi 2017-06-26 15:08:35 +02:00
parent 04e15b4a94
commit d1435379df
3 changed files with 19 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2017-06-26 Simon Marchi <simon.marchi@ericsson.com>
* common/diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER):
New macro.
* ada-lex.l: Ignore deprecated register warnings.
2017-06-25 Simon Marchi <simon.marchi@ericsson.com>
* main.c (get_init_files): Replace "SYSTEM_GDBINIT +

View File

@ -41,6 +41,14 @@ POSEXP (e"+"?{NUM10})
%{
#include "common/diagnostics.h"
/* 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. */
DIAGNOSTIC_PUSH
DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
#define NUMERAL_WIDTH 256
#define LONGEST_SIGN ((ULONGEST) 1 << (sizeof(LONGEST) * HOST_CHAR_BIT - 1))
@ -648,3 +656,5 @@ dummy_function ada_flex_use[] =
{
(dummy_function) yyunput
};
DIAGNOSTIC_POP

View File

@ -33,8 +33,11 @@
#ifdef __clang__
# define DIAGNOSTIC_IGNORE_SELF_MOVE DIAGNOSTIC_IGNORE ("-Wself-move")
# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER \
DIAGNOSTIC_IGNORE ("-Wdeprecated-register")
#else
# define DIAGNOSTIC_IGNORE_SELF_MOVE
# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
#endif
#endif /* COMMON_DIAGNOSTICS_H */