summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2021-09-20 10:22:54 -0400
committerBen Gamari <ben@smart-cactus.org>2021-09-21 08:45:01 -0400
commite8bfa0c8923ca8b9d8668290c5efb51b4bef9146 (patch)
tree29352eeb4799baeae9220133786a9bb9046252f3
parent1bfff954eca04ff575788b45ff082ad94a0e1ea7 (diff)
downloadhaskell-e8bfa0c8923ca8b9d8668290c5efb51b4bef9146.tar.gz
rts: Ensure that headers don't refer to undefined __STDC_VERSION__
Previously the C/C++ language version check in STG could throw an undefined macro warning due to __STDC_VERSION__ when compiled with a C++ compiler. Fix this by defining __STDC_VERSION__==0 when compiling with a C++ compiler. Fixes #20394. hi
-rw-r--r--rts/include/Stg.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/rts/include/Stg.h b/rts/include/Stg.h
index 46f71c0241..981e72e808 100644
--- a/rts/include/Stg.h
+++ b/rts/include/Stg.h
@@ -25,6 +25,12 @@
#pragma once
+// Ensure that we don't get a -Wundef warning for __STDC_VERSION if compiling
+// with a C++ compiler. See #20394.
+#if defined(__cplusplus)
+#define __STDC_VERSION__ 0
+#endif
+
#if !(__STDC_VERSION__ >= 199901L) && !(__cplusplus >= 201103L)
# error __STDC_VERSION__ does not advertise C99, C++11 or later
#endif