summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2018-12-10 21:48:51 -0500
committerBen Gamari <ben@smart-cactus.org>2018-12-11 10:03:40 -0500
commit6a71add81d8f30b0caca0e869fb8e35787881c87 (patch)
tree7d315265acf499df84db949dd0ff218dff01b28a /includes
parente709c8f8d45c699840f5bab7c9ff71373a53b8b0 (diff)
downloadhaskell-6a71add81d8f30b0caca0e869fb8e35787881c87.tar.gz
rts: Disable fallthrough attribute when compiling with Clang
Apparently clang doesn't enable implicitly fallthrough warnings by default http://llvm.org/viewvc/llvm-project?revision=167655&view=revision when compiling C and the attribute cause warnings of their own (#16019).
Diffstat (limited to 'includes')
-rw-r--r--includes/Stg.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/includes/Stg.h b/includes/Stg.h
index 9b54526342..57cb00d0a4 100644
--- a/includes/Stg.h
+++ b/includes/Stg.h
@@ -197,7 +197,11 @@
#endif
/* Used to mark a switch case that falls-through */
-#if (defined(__GNUC__) && __GNUC__ >= 7) || defined(__clang__)
+#if (defined(__GNUC__) && __GNUC__ >= 7)
+// N.B. Don't enable fallthrough annotations when compiling with Clang.
+// Apparently clang doesn't enable implicitly fallthrough warnings by default
+// http://llvm.org/viewvc/llvm-project?revision=167655&view=revision
+// when compiling C and the attribute cause warnings of their own (#16019).
#define FALLTHROUGH GNU_ATTRIBUTE(fallthrough)
#else
#define FALLTHROUGH ((void)0)