]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
More fixes for compilers that reject K&R function definitions.
authorZack Weinberg <zackw@panix.com>
Thu, 10 Nov 2022 17:05:30 +0000 (12:05 -0500)
committerZack Weinberg <zackw@panix.com>
Thu, 10 Nov 2022 17:05:30 +0000 (12:05 -0500)
This fixes all of the remaining failures exposed by running the
testsuite with GCC 12 and
CC='cc -Wimplicit-function-declaration -Wold-style-definition
       -Wimplicit-int -Werror'
.

* lib/autoconf/c.m4 (_AC_C_C89_TEST_GLOBALS): Don’t use K&R function
  definitions.
* lib/autoconf/specific.m4 (AC_SYS_RESTARTABLE_SYSCALLS): Likewise.
  (AC_FUNC_MKTIME): Declare functions taking no arguments as ‘fn (void)’
  not ‘fn ()’.
* lib/autoconf/c.m4 (_AC_C_C99_TEST_GLOBALS): Declare free().

lib/autoconf/c.m4
lib/autoconf/functions.m4
lib/autoconf/specific.m4

index 4751c7f5936f23d42477073c039c1de6e4ef1887..5e4301e743b106bc587290c47c939651dd2533a5 100644 (file)
@@ -1153,9 +1153,7 @@ struct stat;
 /* Most of the following tests are stolen from RCS 5.7 src/conf.sh.  */
 struct buf { int x; };
 struct buf * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
+static char *e (char **p, int i)
 {
   return p[i];
 }
@@ -1212,6 +1210,7 @@ extern int puts (const char *);
 extern int printf (const char *, ...);
 extern int dprintf (int, const char *, ...);
 extern void *malloc (size_t);
+extern void free (void *);
 
 // Check varargs macros.  These examples are taken from C99 6.10.3.5.
 // dprintf is used instead of fprintf to avoid needing to declare
index ee519a3858f7e09af7ac58eb5817e8bc559514a3..de01f74a2f21e2ce4a1928ddd019cc40561d2460 100644 (file)
@@ -1091,7 +1091,7 @@ static const char *tz_strings[] = {
 /* Return 0 if mktime fails to convert a date in the spring-forward gap.
    Based on a problem report from Andreas Jaeger.  */
 static int
-spring_forward_gap ()
+spring_forward_gap (void)
 {
   /* glibc (up to about 1998-10-07) failed this test. */
   struct tm tm;
@@ -1128,7 +1128,7 @@ mktime_test (time_t now)
 }
 
 static int
-irix_6_4_bug ()
+irix_6_4_bug (void)
 {
   /* Based on code from Ariel Faigon.  */
   struct tm tm;
@@ -1170,7 +1170,7 @@ bigtime_test (int j)
 }
 
 static int
-year_2050_test ()
+year_2050_test (void)
 {
   /* The correct answer for 2050-02-01 00:00:00 in Pacific time,
      ignoring leap seconds.  */
index 0af41176b66096d618d5d24bc4b87071c18bcca5..0a9adba59c10e81dcbba055523cdb2ea65ad615d 100644 (file)
@@ -361,10 +361,9 @@ AC_INCLUDES_DEFAULT
 /* Some platforms explicitly require an extern "C" signal handler
    when using C++. */
 #ifdef __cplusplus
-extern "C" void ucatch (int dummy) { }
-#else
-void ucatch (dummy) int dummy; { }
+extern "C"
 #endif
+void ucatch (int dummy) { }
 
 int
 main (void)