This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[PATCH] update perlfaq to version 5.021009
[perl5.git] / cflags.SH
index 6c3e812..f3e44ad 100755 (executable)
--- a/cflags.SH
+++ b/cflags.SH
@@ -167,19 +167,13 @@ case "$gccversion" in
 [12]*) ;; # gcc versions 1 (gasp!) and 2 are not good for this.
 Intel*) ;; # # Is that you, Intel C++?
 #
-# NOTE 1: the -std=c89 without -pedantic is a bit pointless,
-# so we will not add it here.  You will have to use e.g.
-# Configure -Accflags=-std=c89
-#
+# NOTE 1: the -std=c89 without -pedantic is a bit pointless.
 # Just -std=c89 means "if there is room for interpretation,
 # interpret the C89 way."  It does NOT mean "strict C89" on its own.
 # You need to add the -pedantic for that.  To do this with Configure,
 # do -Dgccansipedantic (note that the -ansi is included in any case,
 # the option is a bit oddly named, for historical reasons.)
 #
-# Furthermore, -std=c89 disables/hides/makes harder to use certain
-# non-C89 features like long long.
-#
 # NOTE 2: -pedantic necessitates adding a couple of flags:
 # * -PERL_GCC_PEDANTIC so that the perl code can adapt: there's nothing
 #   added by gcc itself to indicate pedanticness.
@@ -188,9 +182,11 @@ Intel*) ;; # # Is that you, Intel C++?
 #   longer then the ANSI minimum of 509 bytes.
 #
 # NOTE 3: the relative order of these options matters:
-# -Wextra before -W, and -pedantic* before -Werror=d-a-s.
+# -Wextra before -W
+# -std=c89 before -ansi
+# -pedantic* before -Werror=d-a-s
 #
-*)  for opt in -ansi $pedantic \
+*)  for opt in -std=c89 -ansi $pedantic \
                -Werror=declaration-after-statement \
                -Wextra -W \
                -Wc++-compat -Wwrite-strings
@@ -219,6 +215,17 @@ Intel*) ;; # # Is that you, Intel C++?
                  echo "cflags.SH: Adding $opt."
                  stdflags="$stdflags $opt"
                  ;;
+               -ansi)
+                 # -std=c89 is the modern form of -ansi, so add
+                 # -ansi only if -std=c89 is not there already.
+                 case " $stdflags " in
+                 *-std=c89*) ;;
+                 *)
+                   echo "cflags.SH: Adding $opt."
+                   stdflags="$stdflags $opt"
+                   ;;
+                 esac
+                 ;;
                *) case "$opt" in
                   -W)
                     # -Wextra is the modern form of -W, so add