diff options
author | Tsukasa OI <research_trasio@irq.a4lg.com> | 2022-09-12 08:04:40 +0000 |
---|---|---|
committer | Tsukasa OI <research_trasio@irq.a4lg.com> | 2022-09-22 10:53:24 +0000 |
commit | d9fa9b7c3306008ee97140a3aafc56999d8cd2cd (patch) | |
tree | b6eec8598f58800186a12427299815082c668f9b | |
parent | c59ea02cc3cbc89cde1fcb72e4267b73cdaf7f55 (diff) | |
download | gdb-d9fa9b7c3306008ee97140a3aafc56999d8cd2cd.zip gdb-d9fa9b7c3306008ee97140a3aafc56999d8cd2cd.tar.gz gdb-d9fa9b7c3306008ee97140a3aafc56999d8cd2cd.tar.bz2 |
include: Add macro to ignore -Wunused-but-set-variable
"-Wunused-but-set-variable" warning option can be helpful to track variables
that are written but not read thereafter. But it can be harmful if some of
the code is auto-generated and we have no ways to deal with it.
The particular example is Bison-generated code.
The new DIAGNOSTIC_IGNORE_UNUSED_BUT_SET_VARIABLE macro can be helpful on
such cases. A typical use of this macro is to place this macro before the
end of user prologues on Bison (.y) files.
include/ChangeLog:
* diagnostics.h (DIAGNOSTIC_IGNORE_UNUSED_BUT_SET_VARIABLE): New.
-rw-r--r-- | include/diagnostics.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/diagnostics.h b/include/diagnostics.h index dbe6288..4161dff 100644 --- a/include/diagnostics.h +++ b/include/diagnostics.h @@ -68,6 +68,11 @@ DIAGNOSTIC_IGNORE ("-Wuser-defined-warnings") # endif +# if __has_warning ("-Wunused-but-set-variable") +# define DIAGNOSTIC_IGNORE_UNUSED_BUT_SET_VARIABLE \ + DIAGNOSTIC_IGNORE ("-Wunused-but-set-variable") +# endif + # define DIAGNOSTIC_ERROR_SWITCH \ DIAGNOSTIC_ERROR ("-Wswitch") @@ -89,6 +94,11 @@ # define DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL \ DIAGNOSTIC_IGNORE ("-Wformat-nonliteral") +# if __GNUC__ >= 5 +# define DIAGNOSTIC_IGNORE_UNUSED_BUT_SET_VARIABLE \ + DIAGNOSTIC_IGNORE ("-Wunused-but-set-variable") +# endif + /* GCC 4.8's "diagnostic push/pop" seems broken when using this, -Wswitch remains enabled at the error level even after a pop. Therefore, don't use it for GCC < 5. */ @@ -130,6 +140,10 @@ # define DIAGNOSTIC_IGNORE_USER_DEFINED_WARNINGS #endif +#ifndef DIAGNOSTIC_IGNORE_UNUSED_BUT_SET_VARIABLE +# define DIAGNOSTIC_IGNORE_UNUSED_BUT_SET_VARIABLE +#endif + #ifndef DIAGNOSTIC_ERROR_SWITCH # define DIAGNOSTIC_ERROR_SWITCH #endif |