aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--acinclude.m439
1 files changed, 24 insertions, 15 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index 84fbff929..251592dc1 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -518,32 +518,41 @@ AC_DEFUN([CURL_CC_DEBUG_OPTS],
WARN="-Wall $WARN"
fi
else dnl $ICC = yes
- dnl
- WARN="-W -Wall -Wwrite-strings -pedantic -Wno-long-long -Wundef -Wpointer-arith -Wnested-externs -Winline -Wmissing-declarations -Wmissing-prototypes -Wsign-compare"
+ dnl this is a set of options we believe *ALL* gcc versions support:
+ WARN="-W -Wall -Wwrite-strings -pedantic -Wno-long-long -Wpointer-arith -Wnested-externs -Winline -Wmissing-declarations -Wmissing-prototypes -Wsign-compare"
- dnl -Wcast-align is a bit too annoying ;-)
+ dnl -Wcast-align is a bit too annoying on all gcc versions ;-)
+
+ if test "$gccnum" -gt "295"; then
+ dnl only if the compiler is newer than 2.95 since we got lots of
+ dnl "`_POSIX_C_SOURCE' is not defined" in system headers with
+ dnl gcc 2.95.4 on FreeBSD 4.9!
+ WARN="$WARN -Wundef"
+ fi
if test "$gccnum" -ge "296"; then
dnl gcc 2.96 or later
WARN="$WARN -Wfloat-equal"
+ fi
+
+ if test "$gccnum" -gt "296"; then
+ dnl this option does not exist in 2.96
+ WARN="$WARN -Wno-format-nonliteral"
+ fi
- if test "$gccnum" -gt "296"; then
- dnl this option does not exist in 2.96
- WARN="$WARN -Wno-format-nonliteral"
- fi
-
- dnl -Wunreachable-code seems totally unreliable on my gcc 3.3.2 on
- dnl on i686-Linux as it gives us heaps with false positives
- if test "$gccnum" -ge "303"; then
- dnl gcc 3.3 and later
- WARN="$WARN -Wendif-labels -Wstrict-prototypes"
- fi
+ dnl -Wunreachable-code seems totally unreliable on my gcc 3.3.2 on
+ dnl on i686-Linux as it gives us heaps with false positives
+ if test "$gccnum" -ge "303"; then
+ dnl gcc 3.3 and later
+ WARN="$WARN -Wendif-labels -Wstrict-prototypes"
fi
for flag in $CPPFLAGS; do
case "$flag" in
-I*)
- dnl include path
+ dnl Include path, provide a -isystem option for the same dir
+ dnl to prevent warnings in those dirs. The -isystem was not very
+ dnl reliable on earlier gcc versions.
add=`echo $flag | sed 's/^-I/-isystem /g'`
WARN="$WARN $add"
;;