aboutsummaryrefslogtreecommitdiffstats
path: root/include/ruby/ruby.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/ruby/ruby.h')
-rw-r--r--include/ruby/ruby.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h
index 56aca0db5f..7c1b909113 100644
--- a/include/ruby/ruby.h
+++ b/include/ruby/ruby.h
@@ -26,15 +26,17 @@ extern "C" {
#include RUBY_EXTCONF_H
#endif
+#include "defines.h"
+
#if defined(__cplusplus)
/* __builtin_choose_expr and __builtin_types_compatible aren't available
* on C++. See https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html */
# undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P
# undef HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P
+#elif GCC_VERSION_BEFORE(4,8,6) /* Bug #14221 */
+# undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P
#endif
-#include "defines.h"
-
#ifndef ASSUME
# ifdef UNREACHABLE
# define ASSUME(x) (RB_LIKELY(!!(x)) ? (void)0 : UNREACHABLE)