]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Add more release notes about compatibility problems.
authorZack Weinberg <zackw@panix.com>
Thu, 26 Nov 2020 15:19:19 +0000 (10:19 -0500)
committerZack Weinberg <zackw@panix.com>
Mon, 30 Nov 2020 16:45:28 +0000 (11:45 -0500)
See https://savannah.gnu.org/support/?110382 and
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97998 for background.

NEWS

diff --git a/NEWS b/NEWS
index 16849cf71cf10c51e50f9bfb0fc68a6102e82ffb..93ac28384ca899bd9a0b447dbf478f78945f14ca 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -81,6 +81,38 @@ GNU Autoconf NEWS - User visible changes.
   how to write configure scripts for C++ programs, and for programs
   with code in more than one language.
 
+*** Running configure tests with warnings promoted to errors is not supported.
+
+  For instance, setting ‘CC="gcc -Werror"’ on the configure command
+  line, or adding -Werror to CFLAGS early in the configure script when
+  the compiler recognizes this option, is very likely to cause
+  subsequent tests to fail.
+
+  This has never been guaranteed to work; the code generated by
+  AC_CHECK_FUNC, for instance, is incorrect by a strict reading of the
+  original 1989 C standard, and has been ever since that macro was
+  introduced.  Problems are more likely with newer, pickier compilers.
+
+  To enable compiler warnings and/or warnings-as-errors mode for your
+  own code, we currently recommend a dedicated Makefile variable
+  (e.g. ‘WARN_CFLAGS’) that is set by AC_SUBST when appropriate.
+  The Gnulib ‘warnings’ and ‘manywarnings’ modules can help with this.
+  We plan to add core support for probing for useful sets of compiler
+  warnings in a future release.
+
+*** Including confdefs.h manually may cause test failures.
+
+  This has never been necessary; confdefs.h is automatically included
+  at the beginning of all test programs (by AC_LANG_SOURCE).  Because
+  of the way confdefs.h is generated and used, it is not practical to
+  give it a multiple inclusion guard.  Therefore, if you include it
+  yourself, all of its definitions will be scanned twice.
+
+  Historically this has not been a problem, because confdefs.h only
+  makes macro definitions, and the C standard allows redefinitions
+  of macros as long as they’re exactly the same, but newer, pickier
+  compilers may complain anyway (see for instance GCC bug 97998).
+
 *** Older versions of automake and aclocal (< 1.8) are no longer supported.
 
 *** AC_CONFIG_SUBDIRS no longer directly supports Cygnus configure.