summaryrefslogtreecommitdiff
path: root/src/localconsts.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-12-19 16:28:26 +0300
committerAndrei Karas <akaras@inbox.ru>2016-12-19 18:49:07 +0300
commitd6138db85ae0f95f7fce99ba04a7b06c4779b953 (patch)
tree1acf3d7fd44e6fd248dcf3e051e712c2aeb79eb9 /src/localconsts.h
parenta07fa9a14b7fa59d1e6c347ccbffb7f2c007e514 (diff)
downloadplus-d6138db85ae0f95f7fce99ba04a7b06c4779b953.tar.gz
plus-d6138db85ae0f95f7fce99ba04a7b06c4779b953.tar.bz2
plus-d6138db85ae0f95f7fce99ba04a7b06c4779b953.tar.xz
plus-d6138db85ae0f95f7fce99ba04a7b06c4779b953.zip
Fix compilation with cilk plus on gcc 6+.
Diffstat (limited to 'src/localconsts.h')
-rw-r--r--src/localconsts.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/localconsts.h b/src/localconsts.h
index b76fe233f..00108b5eb 100644
--- a/src/localconsts.h
+++ b/src/localconsts.h
@@ -118,14 +118,24 @@
#endif // __clang__
#endif // __native_client__
-#ifndef ENABLE_CILKPLUS
-#define A_CONST __attribute__ ((const))
-#define A_PURE __attribute__ ((pure))
-#define A_INLINE __attribute__ ((always_inline))
-#else // ENABLE_CILKPLUS
+#ifdef ENABLE_CILKPLUS
+#ifdef __GNUC__
+#if GCC_VERSION < 60000
+#define BAD_CILKPLUS
+#else // GCC_VERSION < 60000
+#define GOOD_CILKPLUS
+#endif // GCC_VERSION < 60000
+#endif // __GNUC__
+#endif // ENABLE_CILKPLUS
+
+#if defined(ENABLE_CILKPLUS) && defined(BAD_CILKPLUS)
#define A_CONST
#define A_PURE
#define A_INLINE
+#else // ENABLE_CILKPLUS
+#define A_CONST __attribute__ ((const))
+#define A_PURE __attribute__ ((pure))
+#define A_INLINE __attribute__ ((always_inline))
#endif // ENABLE_CILKPLUS
#ifdef __INTEL_COMPILER