123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 |
- #ifndef _diag_control_h
- #define _diag_control_h
- #include "pcap/compiler-tests.h"
- #ifndef _MSC_VER
-
- #define PCAP_DO_PRAGMA(x) _Pragma (#x)
- #endif
- #if defined(_MSC_VER)
-
- #define DIAG_OFF_FLEX \
- __pragma(warning(push)) \
- __pragma(warning(disable:4127)) \
- __pragma(warning(disable:4242)) \
- __pragma(warning(disable:4244)) \
- __pragma(warning(disable:4702))
- #define DIAG_ON_FLEX __pragma(warning(pop))
- #elif PCAP_IS_AT_LEAST_CLANG_VERSION(2,8)
-
- #define DIAG_OFF_FLEX \
- PCAP_DO_PRAGMA(clang diagnostic push) \
- PCAP_DO_PRAGMA(clang diagnostic ignored "-Wsign-compare") \
- PCAP_DO_PRAGMA(clang diagnostic ignored "-Wdocumentation") \
- PCAP_DO_PRAGMA(clang diagnostic ignored "-Wmissing-noreturn") \
- PCAP_DO_PRAGMA(clang diagnostic ignored "-Wunused-parameter") \
- PCAP_DO_PRAGMA(clang diagnostic ignored "-Wunreachable-code")
- #define DIAG_ON_FLEX \
- PCAP_DO_PRAGMA(clang diagnostic pop)
- #elif PCAP_IS_AT_LEAST_GNUC_VERSION(4,6)
-
- #define DIAG_OFF_FLEX \
- PCAP_DO_PRAGMA(GCC diagnostic push) \
- PCAP_DO_PRAGMA(GCC diagnostic ignored "-Wsign-compare") \
- PCAP_DO_PRAGMA(GCC diagnostic ignored "-Wunused-parameter") \
- PCAP_DO_PRAGMA(GCC diagnostic ignored "-Wunreachable-code")
- #define DIAG_ON_FLEX \
- PCAP_DO_PRAGMA(GCC diagnostic pop)
- #else
-
- #define DIAG_OFF_FLEX
- #define DIAG_ON_FLEX
- #endif
- #ifdef YYBYACC
-
- #if defined(_MSC_VER)
-
- #define DIAG_OFF_BISON_BYACC \
- __pragma(warning(push)) \
- __pragma(warning(disable:4702))
- #define DIAG_ON_BISON_BYACC __pragma(warning(pop))
- #elif PCAP_IS_AT_LEAST_CLANG_VERSION(2,8)
-
- #define DIAG_OFF_BISON_BYACC \
- PCAP_DO_PRAGMA(clang diagnostic push) \
- PCAP_DO_PRAGMA(clang diagnostic ignored "-Wshadow") \
- PCAP_DO_PRAGMA(clang diagnostic ignored "-Wunreachable-code")
- #define DIAG_ON_BISON_BYACC \
- PCAP_DO_PRAGMA(clang diagnostic pop)
- #elif PCAP_IS_AT_LEAST_GNUC_VERSION(4,6)
-
- #define DIAG_OFF_BISON_BYACC \
- PCAP_DO_PRAGMA(GCC diagnostic push) \
- PCAP_DO_PRAGMA(GCC diagnostic ignored "-Wshadow") \
- PCAP_DO_PRAGMA(GCC diagnostic ignored "-Wunreachable-code")
- #define DIAG_ON_BISON_BYACC \
- PCAP_DO_PRAGMA(GCC diagnostic pop)
- #else
-
- #define DIAG_OFF_BISON_BYACC
- #define DIAG_ON_BISON_BYACC
- #endif
- #else
-
- #if defined(_MSC_VER)
-
- #define DIAG_OFF_BISON_BYACC \
- __pragma(warning(push)) \
- __pragma(warning(disable:4127)) \
- __pragma(warning(disable:4242)) \
- __pragma(warning(disable:4244)) \
- __pragma(warning(disable:4702))
- #define DIAG_ON_BISON_BYACC __pragma(warning(pop))
- #elif PCAP_IS_AT_LEAST_CLANG_VERSION(2,8)
-
- #define DIAG_OFF_BISON_BYACC \
- PCAP_DO_PRAGMA(clang diagnostic push) \
- PCAP_DO_PRAGMA(clang diagnostic ignored "-Wunreachable-code")
- #define DIAG_ON_BISON_BYACC \
- PCAP_DO_PRAGMA(clang diagnostic pop)
- #elif PCAP_IS_AT_LEAST_GNUC_VERSION(4,6)
-
- #define DIAG_OFF_BISON_BYACC \
- PCAP_DO_PRAGMA(GCC diagnostic push) \
- PCAP_DO_PRAGMA(GCC diagnostic ignored "-Wunreachable-code")
- #define DIAG_ON_BISON_BYACC \
- PCAP_DO_PRAGMA(GCC diagnostic pop)
- #else
-
- #define DIAG_OFF_BISON_BYACC
- #define DIAG_ON_BISON_BYACC
- #endif
- #endif
- #endif
|