Go to the documentation of this file. 18 #ifndef COMMON_DIAGNOSTICS_H 19 #define COMMON_DIAGNOSTICS_H 24 # define DIAGNOSTIC_PUSH _Pragma ("GCC diagnostic push") 25 # define DIAGNOSTIC_POP _Pragma ("GCC diagnostic pop") 26 # define DIAGNOSTIC_IGNORE(option) \ 27 _Pragma (STRINGIFY (GCC diagnostic ignored option)) 29 # define DIAGNOSTIC_PUSH 30 # define DIAGNOSTIC_POP 31 # define DIAGNOSTIC_IGNORE(option) 34 #if defined (__clang__) 36 # define DIAGNOSTIC_IGNORE_SELF_MOVE DIAGNOSTIC_IGNORE ("-Wself-move") 37 # define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER \ 38 DIAGNOSTIC_IGNORE ("-Wdeprecated-register") 39 # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \ 40 DIAGNOSTIC_IGNORE ("-Wunused-function") 41 # if __has_warning ("-Wenum-compare-switch") 42 # define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES \ 43 DIAGNOSTIC_IGNORE ("-Wenum-compare-switch") 45 # define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES 47 #elif defined (__GNUC__) 49 # define DIAGNOSTIC_IGNORE_SELF_MOVE 50 # define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER 51 # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \ 52 DIAGNOSTIC_IGNORE ("-Wunused-function") 53 # define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES 57 # define DIAGNOSTIC_IGNORE_SELF_MOVE 58 # define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER 59 # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION 60 # define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES