The patch to make -fcommon the default introduces a bogus claim into
the GCC documentation.
-fcommon was claimed to be incompatible with ISO C for preventing
duplicate definitions from being diagnosed. It does, but as that
elicits undefined behaviour (the requirement that there shall be no
more than one external definition is not a constraint), ISO C does not
require any diagnostic for it. In the absence of any other rule this
would violate, both -fcommon and -fno-common are fully compatible with
all versions of ISO C.
2019-11-21 Harald van Dijk <harald@gigawatt.nl>
* doc/invoke.texi (-fcommon): Remove claim about ISO C.
From-SVN: r278604
+2019-11-21 Harald van Dijk <harald@gigawatt.nl>
+
+ * doc/invoke.texi (-fcommon): Remove claim about ISO C.
+
2019-11-21 Joseph Myers <joseph@codesourcery.com>
* gimplify.c (expand_FALLTHROUGH_r, expand_FALLTHROUGH): Use
The @option{-fcommon} places uninitialized global variables in a common block.
This allows the linker to resolve all tentative definitions of the same variable
in different compilation units to the same object, or to a non-tentative
-definition. This behavior does not conform to ISO C, is inconsistent with C++,
-and on many targets implies a speed and code size penalty on global variable
-references. It is mainly useful to enable legacy code to link without errors.
+definition. This behavior is inconsistent with C++, and on many targets implies
+a speed and code size penalty on global variable references. It is mainly
+useful to enable legacy code to link without errors.
@item -fno-ident
@opindex fno-ident