Skip to content

Commit

Permalink
Add gcc_diag.h header, for macros used to do fine-grained exceptions …
Browse files Browse the repository at this point in the history
…to GCC warnings
  • Loading branch information
japhb committed Feb 4, 2013
1 parent 8304a21 commit fb4cc14
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions src/gcc_diag.h
@@ -0,0 +1,20 @@
/* GCC diagnostics control macros courtesy of:
* http://dbp-consulting.com/tutorials/SuppressingGCCWarnings.html
*/
#if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 402
# define GCC_DIAG_STR(s) #s
# define GCC_DIAG_JOINSTR(x,y) GCC_DIAG_STR(x ## y)
# define GCC_DIAG_DO_PRAGMA(x) _Pragma (#x)
# define GCC_DIAG_PRAGMA(x) GCC_DIAG_DO_PRAGMA(GCC diagnostic x)
# if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 406
# define GCC_DIAG_OFF(x) GCC_DIAG_PRAGMA(push) \
GCC_DIAG_PRAGMA(ignored GCC_DIAG_JOINSTR(-W,x))
# define GCC_DIAG_ON(x) GCC_DIAG_PRAGMA(pop)
# else
# define GCC_DIAG_OFF(x) GCC_DIAG_PRAGMA(ignored GCC_DIAG_JOINSTR(-W,x))
# define GCC_DIAG_ON(x) GCC_DIAG_PRAGMA(warning GCC_DIAG_JOINSTR(-W,x))
# endif
#else
# define GCC_DIAG_OFF(x)
# define GCC_DIAG_ON(x)
#endif

0 comments on commit fb4cc14

Please sign in to comment.