+#
+# 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.)
+#
+# 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.
+# * -Wno-overlength-strings under -DDEBUGGING because quite many of
+# the LEAVE_with_name() and assert() calls generate string literals
+# longer then the ANSI minimum of 509 bytes.
+#
+# NOTE 3: the relative order of these options matters:
+# -Wextra before -W
+# -std=c89 before -ansi
+# -pedantic* before -Werror=d-a-s
+#
+*) for opt in -std=c89 -ansi $pedantic \
+ -Werror=declaration-after-statement \
+ -Werror=pointer-arith \
+ -Wextra -W \
+ -Wc++-compat -Wwrite-strings