summaryrefslogtreecommitdiff
path: root/internal.h
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-01-02 06:41:51 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-01-02 06:41:51 +0000
commit8ebe5da2b34042850fcbb74b8d70bc5567bb3f70 (patch)
tree60b4660cbce53191495050cc6831ba84e5375e02 /internal.h
parentdb5d556f9b6ada9388fe73b925724a06eb23611b (diff)
_Static_assert is a C11ism
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'internal.h')
-rw-r--r--internal.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/internal.h b/internal.h
index f3ba39f2d1..8d92d9510a 100644
--- a/internal.h
+++ b/internal.h
@@ -79,8 +79,10 @@ extern "C" {
# define __has_extension __has_feature
#endif
-#if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
+#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
# define STATIC_ASSERT(name, expr) _Static_assert(expr, #name ": " #expr)
+#elif GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
+# define STATIC_ASSERT(name, expr) RB_GNUC_EXTENSION _Static_assert(expr, #name ": " #expr)
#else
# define STATIC_ASSERT(name, expr) typedef int static_assert_##name##_check[1 - 2*!(expr)]
#endif