From 8ebe5da2b34042850fcbb74b8d70bc5567bb3f70 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Tue, 2 Jan 2018 06:41:51 +0000 Subject: [PATCH] _Static_assert is a C11ism git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- internal.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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