forked from Imagelibrary/binutils-gdb
Add DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION
Add DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION for GCC 8.1 to silence -Wstringop-truncation warning: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643 * diagnostics.h (DIAGNOSTIC_STRINGIFY_1): New. (DIAGNOSTIC_STRINGIFY): Likewise. (DIAGNOSTIC_IGNORE): Replace STRINGIFY with DIAGNOSTIC_STRINGIFY. (DIAGNOSTIC_IGNORE_SELF_MOVE): Define empty if not defined. (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER): Likewise. (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): Likewise. (DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): Likewise. (DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION): New.
This commit is contained in:
@@ -19,8 +19,13 @@
|
||||
#ifdef __GNUC__
|
||||
# define DIAGNOSTIC_PUSH _Pragma ("GCC diagnostic push")
|
||||
# define DIAGNOSTIC_POP _Pragma ("GCC diagnostic pop")
|
||||
|
||||
/* Stringification. */
|
||||
# define DIAGNOSTIC_STRINGIFY_1(x) #x
|
||||
# define DIAGNOSTIC_STRINGIFY(x) DIAGNOSTIC_STRINGIFY_1 (x)
|
||||
|
||||
# define DIAGNOSTIC_IGNORE(option) \
|
||||
_Pragma (STRINGIFY (GCC diagnostic ignored option))
|
||||
_Pragma (DIAGNOSTIC_STRINGIFY (GCC diagnostic ignored option))
|
||||
#else
|
||||
# define DIAGNOSTIC_PUSH
|
||||
# define DIAGNOSTIC_POP
|
||||
@@ -37,24 +42,36 @@
|
||||
# if __has_warning ("-Wenum-compare-switch")
|
||||
# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES \
|
||||
DIAGNOSTIC_IGNORE ("-Wenum-compare-switch")
|
||||
# else
|
||||
# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
|
||||
# endif
|
||||
#elif defined (__GNUC__) /* GCC */
|
||||
|
||||
# define DIAGNOSTIC_IGNORE_SELF_MOVE
|
||||
# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
|
||||
# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \
|
||||
DIAGNOSTIC_IGNORE ("-Wunused-function")
|
||||
# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
|
||||
|
||||
#else /* Other compilers */
|
||||
# if __GNUC__ == 8 && __GNUC_MINOR__ < 2
|
||||
# define DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION \
|
||||
DIAGNOSTIC_IGNORE ("-Wstringop-truncation")
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef DIAGNOSTIC_IGNORE_SELF_MOVE
|
||||
# define DIAGNOSTIC_IGNORE_SELF_MOVE
|
||||
# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
|
||||
# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
|
||||
# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
|
||||
#endif
|
||||
|
||||
#ifndef DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
|
||||
# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
|
||||
#endif
|
||||
|
||||
#ifndef DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
|
||||
# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
|
||||
#endif
|
||||
|
||||
#ifndef DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
|
||||
# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
|
||||
#endif
|
||||
|
||||
#ifndef DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION
|
||||
# define DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION
|
||||
#endif
|
||||
|
||||
#endif /* DIAGNOSTICS_H */
|
||||
|
||||
Reference in New Issue
Block a user