diff options
author | Erik de Castro Lopo <erik.decastrolopo@ambiata.com> | 2017-04-05 05:53:46 +1000 |
---|---|---|
committer | Erik de Castro Lopo <erikd@mega-nerd.com> | 2017-04-05 05:53:47 +1000 |
commit | 7e340c2bbf4a56959bd1e95cdd1cfdb2b7e537c2 (patch) | |
tree | 0f330ad348b5100f1a21312e7c91e43966789ec8 /includes/Stg.h | |
parent | 5e968f9261b798222a845ef38a54621b45013678 (diff) | |
download | haskell-7e340c2bbf4a56959bd1e95cdd1cfdb2b7e537c2.tar.gz |
Enable new warning for fragile/incorrect CPP #if usage
The C code in the RTS now gets built with `-Wundef` and the Haskell code
(stages 1 and 2 only) with `-Wcpp-undef`. We now get warnings whereever
`#if` is used on undefined identifiers.
Test Plan: Validate on Linux and Windows
Reviewers: austin, angerman, simonmar, bgamari, Phyx
Reviewed By: bgamari
Subscribers: thomie, snowleopard
Differential Revision: https://phabricator.haskell.org/D3278
Diffstat (limited to 'includes/Stg.h')
-rw-r--r-- | includes/Stg.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/includes/Stg.h b/includes/Stg.h index 939bed6444..88c8794726 100644 --- a/includes/Stg.h +++ b/includes/Stg.h @@ -147,7 +147,7 @@ // to force gnu90-style 'external inline' semantics. #if defined(FORCE_GNU_INLINE) // disable auto-detection since HAVE_GNU_INLINE has been defined externally -#elif __GNUC_GNU_INLINE__ && __GNUC__ == 4 && __GNUC_MINOR__ == 2 +#elif defined(__GNUC_GNU_INLINE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 // GCC 4.2.x didn't properly support C99 inline semantics (GCC 4.3 was the first // release to properly support C99 inline semantics), and therefore warned when // using 'extern inline' while in C99 mode unless `__attributes__((gnu_inline))` @@ -155,14 +155,14 @@ # define FORCE_GNU_INLINE 1 #endif -#if FORCE_GNU_INLINE +#ifdef FORCE_GNU_INLINE // Force compiler into gnu90 semantics # if defined(KEEP_INLINES) # define EXTERN_INLINE inline __attribute__((gnu_inline)) # else # define EXTERN_INLINE extern inline __attribute__((gnu_inline)) # endif -#elif __GNUC_GNU_INLINE__ +#elif defined(__GNUC_GNU_INLINE__) // we're currently in gnu90 inline mode by default and // __attribute__((gnu_inline)) may not be supported, so better leave it off # if defined(KEEP_INLINES) |