summaryrefslogtreecommitdiff
path: root/cflags.SH
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2014-11-20 20:13:34 -0500
committerJarkko Hietaniemi <jhi@iki.fi>2014-11-20 20:28:07 -0500
commit0d55a45a6f024919f13cbe70fc861f5eb6d757ee (patch)
treeb8c127452e8bc49f97b6a99eca7215e7aaeedb40 /cflags.SH
parentec7c51d01dced96cba496c6393c9a4546d1e306c (diff)
downloadperl-0d55a45a6f024919f13cbe70fc861f5eb6d757ee.tar.gz
Drop -std=c89.
(1) It doesn't mean "strict C89" on its own, -pedantic would also be needed. (2) Using C99 features like long long or inline becomes harder. The downside of this change is that C99-isms can more easily creep into the core code, breaking it for non-gcc C89 compilers.
Diffstat (limited to 'cflags.SH')
-rwxr-xr-xcflags.SH10
1 files changed, 8 insertions, 2 deletions
diff --git a/cflags.SH b/cflags.SH
index bdb4bad971..6c3e81293f 100755
--- a/cflags.SH
+++ b/cflags.SH
@@ -167,13 +167,19 @@ 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.
+# 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
+#
# 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.
@@ -184,7 +190,7 @@ Intel*) ;; # # Is that you, Intel C++?
# NOTE 3: the relative order of these options matters:
# -Wextra before -W, and -pedantic* before -Werror=d-a-s.
#
-*) for opt in -ansi -std=c89 $pedantic \
+*) for opt in -ansi $pedantic \
-Werror=declaration-after-statement \
-Wextra -W \
-Wc++-compat -Wwrite-strings