summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2023-04-02 21:03:30 -0400
committerZack Weinberg <zackw@panix.com>2023-04-02 23:01:06 -0400
commitdaaca7f74f94d6a7a51d571156d5fbaba5ef9a87 (patch)
tree199cad422db2ee9d239cef3627a08c8d80c27e9d
parent51d98495d1aac00970d791f064e83ca762bf81c7 (diff)
downloadautoconf-daaca7f74f94d6a7a51d571156d5fbaba5ef9a87.tar.gz
Make AC_PROG_GCC_TRADITIONAL a compatibility alias for AC_PROG_CC.
This macro is one of the last remaining internal uses of AC_EGREP_CPP. It has only ever done anything useful with GCC, and GCC dropped support for ‘traditional’ compilation in version 3.3 (released 2003) so I do not think it is worth trying to preserve. * lib/autoconf/c.m4 (AC_PROG_GCC_TRADITIONAL): Make into a compatibility alias for AC_PROG_CC, similar to AC_PROG_CC_STDC. * lib/autoconf/general.m4 (AC_EGREP_CPP): Remove stale comment. * doc/autoconf.texi, NEWS: Document this change. * tests/mktests.pl: Exclude AC_PROG_GCC_TRADITIONAL from autoupdate tests.
-rw-r--r--NEWS7
-rw-r--r--doc/autoconf.texi29
-rw-r--r--lib/autoconf/c.m430
-rw-r--r--lib/autoconf/general.m42
-rw-r--r--tests/mktests.pl2
5 files changed, 28 insertions, 42 deletions
diff --git a/NEWS b/NEWS
index 6a106f15..53c57ff5 100644
--- a/NEWS
+++ b/NEWS
@@ -81,6 +81,13 @@ GNU Autoconf NEWS - User visible changes.
with plain apostrophes instead of the older GNU style `like this'
with grave accent and apostrophe.
+*** AC_PROG_GCC_TRADITIONAL no longer does anything.
+
+ This macro has had no useful effect since GCC dropped support for
+ traditional-mode compilation in version 3.3 (released in 2003), and
+ the systems that needed it are also long obsolete. It is now a
+ compatibility synonym for AC_PROG_CC.
+
** Notable bug fixes
*** Autoconf caches now use finer-grained timestamps.
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index 8db64d8b..037c8055 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -7764,20 +7764,6 @@ This macro is obsolescent, as current C compilers support prototypes.
New programs need not use this macro.
@end defmac
-@anchor{AC_PROG_GCC_TRADITIONAL}
-@defmac AC_PROG_GCC_TRADITIONAL
-@acindex{PROG_GCC_TRADITIONAL}
-@ovindex CC
-Add @option{-traditional} to output variable @code{CC} if using a
-GNU C compiler and @code{ioctl} does not work properly without
-@option{-traditional}. That usually happens when the fixed header files
-have not been installed on an old system.
-
-This macro is obsolescent, since current versions of the GNU C
-compiler fix the header files automatically when installed.
-@end defmac
-
-
@node C++ Compiler
@subsection C++ Compiler Characteristics
@@ -23986,7 +23972,8 @@ These days portable programs should use @code{waitpid}, not
@defmac AC_GCC_TRADITIONAL
@acindex{GCC_TRADITIONAL}
-Replaced by @code{AC_PROG_GCC_TRADITIONAL} (@pxref{AC_PROG_GCC_TRADITIONAL}).
+Replaced by @code{AC_PROG_GCC_TRADITIONAL} (@pxref{AC_PROG_GCC_TRADITIONAL}),
+which is itself obsolete.
@end defmac
@defmac AC_GETGROUPS_T
@@ -24369,6 +24356,18 @@ Now done by @code{AC_PROG_CC} (@pxref{AC_PROG_CC}).
Now done by @code{AC_PROG_CC} (@pxref{AC_PROG_CC}).
@end defmac
+@anchor{AC_PROG_GCC_TRADITIONAL}
+@defmac AC_PROG_GCC_TRADITIONAL
+@acindex{PROG_GCC_TRADITIONAL}
+Used to put GCC into ``traditional'' (pre-ISO C) compilation mode,
+on systems with headers that did not work correctly with a
+standard-compliant compiler. GCC has not supported traditional
+compilation in many years, and all of the systems that required this are
+long obsolete themselves. This macro is now a compatibility synonym for
+@code{AC_PROG_CC} (@pxref{AC_PROG_CC}).
+
+@end defmac
+
@defmac AC_PROGRAMS_CHECK
@acindex{PROGRAMS_CHECK}
Replaced by @code{AC_CHECK_PROGS} (@pxref{AC_CHECK_PROGS}).
diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
index fef6c516..33648b5b 100644
--- a/lib/autoconf/c.m4
+++ b/lib/autoconf/c.m4
@@ -551,30 +551,6 @@ fi[]dnl
])# _AC_PROG_CC_G
-# AC_PROG_GCC_TRADITIONAL
-# -----------------------
-AC_DEFUN([AC_PROG_GCC_TRADITIONAL],
-[AC_REQUIRE([AC_PROG_CC])dnl
-if test $ac_cv_c_compiler_gnu = yes; then
- AC_CACHE_CHECK(whether $CC needs -traditional,
- ac_cv_prog_gcc_traditional,
-[ ac_pattern="Autoconf.*'x'"
- AC_EGREP_CPP($ac_pattern, [#include <sgtty.h>
-Autoconf TIOCGETP],
- ac_cv_prog_gcc_traditional=yes, ac_cv_prog_gcc_traditional=no)
-
- if test $ac_cv_prog_gcc_traditional = no; then
- AC_EGREP_CPP($ac_pattern, [#include <termio.h>
-Autoconf TCGETA],
- ac_cv_prog_gcc_traditional=yes)
- fi])
- if test $ac_cv_prog_gcc_traditional = yes; then
- CC="$CC -traditional"
- fi
-fi
-])# AC_PROG_GCC_TRADITIONAL
-
-
# AC_PROG_CC_C_O
# --------------
AC_DEFUN([AC_PROG_CC_C_O],
@@ -1675,6 +1651,12 @@ AU_DEFUN([AC_PROG_CC_STDC],
[$0 is obsolete; use AC_PROG_CC]
)
+# AC_PROG_GCC_TRADITIONAL
+# -----------------------
+AU_DEFUN([AC_PROG_GCC_TRADITIONAL],
+ [AC_REQUIRE([AC_PROG_CC])],
+ [$0 is obsolete; use AC_PROG_CC]
+)
# AC_C_BACKSLASH_A
# ----------------
diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4
index ecda0a51..47d896d5 100644
--- a/lib/autoconf/general.m4
+++ b/lib/autoconf/general.m4
@@ -2766,8 +2766,6 @@ AU_DEFUN([AC_TRY_CPP],
# AC_EGREP_CPP(PATTERN, PROGRAM,
# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
# ------------------------------------------------------
-# Because this macro is used by AC_PROG_GCC_TRADITIONAL, which must
-# come early, it is not included in AC_BEFORE checks.
AC_DEFUN([AC_EGREP_CPP],
[AC_LANG_PREPROC_REQUIRE()dnl
AC_REQUIRE([_AC_PROG_EGREP_TRADITIONAL])dnl
diff --git a/tests/mktests.pl b/tests/mktests.pl
index effed0bc..81f63586 100644
--- a/tests/mktests.pl
+++ b/tests/mktests.pl
@@ -112,7 +112,7 @@ my @ac_exclude_list = (
# Check all AU_DEFUN'ed macros with AT_CHECK_AU_MACRO, except these.
my @au_exclude_list = (
# Empty.
- qr/^AC_(C_CROSS|PROG_CC_(C[89]9|STDC))$/,
+ qr/^AC_(C_CROSS|PROG_(CC_(C[89]9|STDC)|GCC_TRADITIONAL))$/,
# Use AC_REQUIRE.
qr/^AC_(CYGWIN|MINGW32|EMXOS2)$/,