SHA256
3
0
forked from pool/automake
automake/tests-avoid-implicit-function-declarations.patch
Valentin Lefebvre 6b9cb9cb09 - update to 1.17
- AM_PATH_PYTHON will, after checking "python", prefer any Python 3
    version (latest versions checked first) over any Python 2
    version. If a specific version of Python 2 is still needed, the
    $PYTHON variable should be set beforehand.
  - AM_PATH_PYTHON will also search for Python versions 3.20 through 3.10.
    It previously searched for 3.9 through 3.0.
  - RANLIB may be overridden on a per-target basis.
  - AM_TEXI2FLAGS may be defined to pass extra flags to TEXI2DVI & TEXI2PDF.
  - New option "posix" to emit the special target .POSIX for make.
  - Systems with non-POSIX "rm -f" behavior are now supported, and the
    prior intent to drop support for them has been reversed.
    The ACCEPT_INFERIOR_RM_PROGRAM setting no longer exists.
  - Variables using escaped \# will trigger portability warnings, but be
    retained when appended.  GNU Make & BSD Makes are known to support it.
  - GNU Make's default pattern rules are disabled, for speed and debugging.
    (.SUFFIXES was already cleared.)
  - For Texinfo documents, if a .texi.in file exists, but no .texi, the
    .texi.in will be read. Texinfo source files need not be present at
    all, and if present, need not contain @setfilename. Then the file name
    as given in the Makefile.am will be used.  If @setfilename is present,
    it should be the basename of the Texinfo file, extended with .info.
  - aclocal has a new option --aclocal-path to override $ACLOCAL_PATH.
  - The missing script also supports autoreconf, autogen, and perl.
  - test-suite.log now contains basic system information, and the
    console message about bug reporting on failure has a bit more detail.
  - When using the (default) "parallel" test driver, you can now omit the
    output of skipped tests from test-suite.log by defining the
    variable IGNORE_SKIPPED_LOGS to a non-empty value. (bug#71422)
- Drop patches now included in 1.17
  * tests-Fix-type-defaults-error-in-link_cond.patch
  * tests-avoid-implicit-function-declaration-in-depcomp.patch
  * tests-don-t-try-to-prevent-flex-from-including-unist.patch
  * tests-avoid-implicit-function-declarations.patch
- Drop patch automake-require_file.patch with different upstream fix
- Drop no longer necessary patch
  automake-1.13.4-fix-primary-prefix-invalid-couples-test.patch
- Ajust patches automake-suse-vendor.patch and
  0001-correct-parameter-parsing-in-test-driver-script.patch

OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/automake?expand=0&rev=97
2024-07-15 09:38:38 +00:00

261 lines
6.4 KiB
Diff

From 80714ea0aba62f025780f432abfbab2e66f6f801 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20B=C3=A9rat?= <fberat@redhat.com>
Date: Tue, 29 Aug 2023 11:00:41 -0700
Subject: [PATCH] tests: avoid implicit function declarations.
This patch is from https://bugs.gnu.org/59993 (v2 part 2).
* t/c-demo.sh: This patch is related to an effort to prepare
Automake for future GCC/Clang versions which set c99 as default
standard to be used.
C99 requires that functions be properly declared before use.
This is true for both user functions and standard functions,
e.g., printf.
* t/cond35.sh: Likewise.
* t/dist-vs-built-sources.sh: Likewise.
* t/lex-clean.sh: Likewise.
* t/lex-multiple.sh: Likewise.
* t/lex-nodist.sh: Likewise.
* t/ltcond2.sh: Likewise.
* t/ltconv.sh: Likewise.
* t/subobj-clean-lt-pr10697.sh: Likewise.
* t/subobj-clean-pr10697.sh: Likewise.
* t/tags-pr12372.sh: Likewise.
* t/yacc-basic.sh: Likewise.
* t/yacc-clean.sh: Likewise.
* t/yacc-nodist.sh: Likewise.
This patch is from https://bugs.gnu.org/59993.
---
t/c-demo.sh | 1 +
t/cond35.sh | 2 ++
t/dist-vs-built-sources.sh | 1 +
t/lex-clean.sh | 1 +
t/lex-multiple.sh | 4 ++++
t/lex-nodist.sh | 2 ++
t/ltcond2.sh | 2 ++
t/ltconv.sh | 6 ++++++
t/subobj-clean-lt-pr10697.sh | 10 +++++++++-
t/subobj-clean-pr10697.sh | 10 +++++++++-
t/tags-pr12372.sh | 3 ++-
t/yacc-basic.sh | 1 +
t/yacc-clean.sh | 4 ++++
t/yacc-nodist.sh | 2 ++
14 files changed, 46 insertions(+), 3 deletions(-)
diff --git a/t/c-demo.sh b/t/c-demo.sh
index 446551958..ee0d5c3ec 100644
--- a/t/c-demo.sh
+++ b/t/c-demo.sh
@@ -113,6 +113,7 @@ test -f build-aux/compile # We have per-target flags on C sources.
./configure --enable-dependency-tracking
cat > src/main.c << 'END'
+#include <stdio.h>
#include "foo.h"
#include "bar.h"
int main (void)
diff --git a/t/cond35.sh b/t/cond35.sh
index 8b044644e..a00c9e280 100644
--- a/t/cond35.sh
+++ b/t/cond35.sh
@@ -71,6 +71,8 @@ END
cat > tparse.y << 'END'
%{
+extern int yylex(void);
+
void yyerror (const char *s) {}
%}
%token EOF
diff --git a/t/dist-vs-built-sources.sh b/t/dist-vs-built-sources.sh
index da8c8fb23..4c73d53b0 100644
--- a/t/dist-vs-built-sources.sh
+++ b/t/dist-vs-built-sources.sh
@@ -41,6 +41,7 @@ foo_SOURCES = foo.c
END
cat > foo.c << 'END'
+#include <stdio.h>
#include "h.h"
int main (void) { printf ("%s\n", F); return 0; }
END
diff --git a/t/lex-clean.sh b/t/lex-clean.sh
index 4668e97c7..a966b4b07 100644
--- a/t/lex-clean.sh
+++ b/t/lex-clean.sh
@@ -60,6 +60,7 @@ cat > lexer.l << 'END'
END
cat > main.c << 'END'
+extern int yylex (void);
int main (void)
{
return yylex ();
diff --git a/t/lex-multiple.sh b/t/lex-multiple.sh
index 6486a012f..32dd854b6 100644
--- a/t/lex-multiple.sh
+++ b/t/lex-multiple.sh
@@ -58,6 +58,10 @@ cat > main.c << 'END'
#include <stdlib.h>
#include <string.h>
+extern int yylex (void);
+extern int foolex (void);
+extern int bar_lex (void);
+
int main (int argc, char *argv[])
{
if (argc != 2)
diff --git a/t/lex-nodist.sh b/t/lex-nodist.sh
index d499aea7f..29f0cb0ec 100644
--- a/t/lex-nodist.sh
+++ b/t/lex-nodist.sh
@@ -61,6 +61,8 @@ CLEANFILES = $(nodist_prog_SOURCES)
END
cat > main.c << 'END'
+extern int yylex (void);
+
int main ()
{
return yylex ();
diff --git a/t/ltcond2.sh b/t/ltcond2.sh
index 000d0ad34..c9f7af1dc 100644
--- a/t/ltcond2.sh
+++ b/t/ltcond2.sh
@@ -73,6 +73,8 @@ void print (void)
END
cat > main.c <<'END'
+extern void print(void);
+
int main (void)
{
print();
diff --git a/t/ltconv.sh b/t/ltconv.sh
index 64e42949a..3c35f50e7 100644
--- a/t/ltconv.sh
+++ b/t/ltconv.sh
@@ -91,6 +91,12 @@ echo 'int sub22 () { return 22; }' > sub2/sub22/sub22.c
cat >test.c <<'EOF'
#include <stdio.h>
+
+extern int sub1 (void);
+extern int sub2 (void);
+extern int sub21 (void);
+extern int sub22 (void);
+
int main ()
{
if (1 != sub1 ())
diff --git a/t/subobj-clean-lt-pr10697.sh b/t/subobj-clean-lt-pr10697.sh
index 0b4bb10a7..94af0778b 100644
--- a/t/subobj-clean-lt-pr10697.sh
+++ b/t/subobj-clean-lt-pr10697.sh
@@ -83,7 +83,15 @@ libfoo_la_SOURCES = \
END
mkdir sub1 sub2
-echo 'int libmain (void)' > main.c
+
+echo "/* Subobj clean: libtool case*/" > main.c
+for i in 1 2; do
+ for j in a b c d e f; do
+ echo "extern void $j$i (void);" >> main.c
+ done
+done
+
+echo 'int libmain (void)' >> main.c
echo '{' >> main.c
for i in 1 2; do
for j in a b c d e f; do
diff --git a/t/subobj-clean-pr10697.sh b/t/subobj-clean-pr10697.sh
index 591684bc8..360716ec3 100644
--- a/t/subobj-clean-pr10697.sh
+++ b/t/subobj-clean-pr10697.sh
@@ -81,7 +81,15 @@ foo_SOURCES = \
END
mkdir sub1 sub2
-echo 'int main (void)' > main.c
+
+echo "/* Subobj clean: generic case*/" > main.c
+for i in 1 2; do
+ for j in a b c d e f; do
+ echo "extern void $j$i (void);" >> main.c
+ done
+done
+
+echo 'int main (void)' >> main.c
echo '{' >> main.c
for i in 1 2; do
for j in a b c d e f; do
diff --git a/t/tags-pr12372.sh b/t/tags-pr12372.sh
index 7e86f7214..19ac07da4 100644
--- a/t/tags-pr12372.sh
+++ b/t/tags-pr12372.sh
@@ -53,7 +53,8 @@ noinst_PROGRAMS = zap
zap_SOURCES = zardoz.pc
END
-echo 'int main(void) [ return bar(1); ]' > foo-main.pc
+echo 'extern int bar(int);' > foo-main.pc
+echo 'int main(void) [ return bar(1); ]' >> foo-main.pc
echo 'int bar(int x) { return !x; }' > barbar.c
echo 'int m@in(void) { return 0; }' > sub/zardoz.pc
diff --git a/t/yacc-basic.sh b/t/yacc-basic.sh
index 51ee5f6a3..be578e14a 100644
--- a/t/yacc-basic.sh
+++ b/t/yacc-basic.sh
@@ -51,6 +51,7 @@ a : 'a' { exit(0); };
END
cat > foo.c << 'END'
+extern int yyparse(void);
int main () { yyparse (); return 1; }
END
diff --git a/t/yacc-clean.sh b/t/yacc-clean.sh
index d0f793843..da2e3d5b2 100644
--- a/t/yacc-clean.sh
+++ b/t/yacc-clean.sh
@@ -67,6 +67,8 @@ END
cat > sub1/parse.y << 'END'
%{
+#include <stdio.h>
+
int yylex () { return (getchar ()); }
void yyerror (const char *s) {}
%}
@@ -76,6 +78,8 @@ END
cp sub1/parse.y sub2/parse.y
cat > sub1/main.c << 'END'
+extern int yyparse(void);
+
int main ()
{
return yyparse ();
diff --git a/t/yacc-nodist.sh b/t/yacc-nodist.sh
index 8e5338e94..e3b02b3fa 100644
--- a/t/yacc-nodist.sh
+++ b/t/yacc-nodist.sh
@@ -80,6 +80,8 @@ BUILT_SOURCES = parse.h
END
cat > sub1/main.c << 'END'
+extern int yyparse(void);
+
int main ()
{
return yyparse ();
--
2.35.3