summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-04-05 14:08:21 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-04-05 14:08:21 +0000
commitb493f30a42c889f4ef724057abd56dbed5fc3497 (patch)
treef81cd2f2ffe8581fafdfa0811f38a46268a1fcea /configure.in
parent647dc4fd49f542dfec72a72818908191dce76b2b (diff)
configure.in: no -Wextra-token on gcc 3
* configure.in (warnflags): -Wextra-tokens is same as -Wextra and let -Wno- options ignored on gcc 3. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in9
1 files changed, 8 insertions, 1 deletions
diff --git a/configure.in b/configure.in
index 5f70e6db9b..321e06d2ab 100644
--- a/configure.in
+++ b/configure.in
@@ -419,6 +419,8 @@ AC_SUBST(LD)
if test "$GCC" = yes; then
linker_flag=-Wl,
: ${optflags=-O3}
+ gcc_major=`echo =__GNUC__ | $CC -E -xc - | sed '/^=/!d;s///'`
+ test -n "$gcc_major" || gcc_major=0
# RUBY_APPEND_OPTIONS(XCFLAGS, ["-include ruby/config.h" "-include ruby/missing.h"])
else
linker_flag=
@@ -664,6 +666,11 @@ AC_ARG_ENABLE(werror,
rb_cv_warnflags="$warnflags"
if test "$GCC:${warnflags+set}:no" = yes::no; then
+ if test $gcc_major -ge 4; then
+ extra_warning=-Werror=extra-tokens
+ else
+ extra_warning=
+ fi
for wflag in -Wno-unused-parameter -Wno-parentheses -Wno-long-long \
-Wno-missing-field-initializers \
-Wunused-variable \
@@ -672,7 +679,7 @@ if test "$GCC:${warnflags+set}:no" = yes::no; then
-Werror=declaration-after-statement \
-Werror=shorten-64-to-32 \
-Werror=implicit-function-declaration \
- -Werror=extra-tokens \
+ $extra_warning \
; do
if test "$particular_werror_flags" != yes; then
wflag=`echo x$wflag | sed 's/^x-Werror=/-W/;s/^x//'`