59 lines
1.8 KiB
Diff
59 lines
1.8 KiB
Diff
|
From 5e74354030fe88e038a6fc1b3f4c2321df150352 Mon Sep 17 00:00:00 2001
|
||
|
From: Frederic Berat <fberat@redhat.com>
|
||
|
Date: Fri, 16 Dec 2022 06:42:45 +0100
|
||
|
Subject: [PATCH v3] tests: Fix implicit function declaration in ax/depcomp.sh
|
||
|
In-Reply-To: <20230113064804.580F5340B54@smtp.gentoo.org>
|
||
|
|
||
|
Change since v2:
|
||
|
- Replace the mv operation by a cp operation to ensure that subfoo.h is
|
||
|
considered being modified.
|
||
|
|
||
|
-- 8< --
|
||
|
|
||
|
In depcomp.sh, the following occurs:
|
||
|
|
||
|
1. Files are created so that headers and units are available in
|
||
|
subdirectories
|
||
|
2. Multiple "make" are executed, while modifying the content of the
|
||
|
headers, some should fail, others should succeed.
|
||
|
3. At the end, the "sub/subfoo.h" header gets removed.
|
||
|
4. make is executed again, which is expected to succeed.
|
||
|
|
||
|
Yet, with c99, this can't work as the subfoo.h header contains
|
||
|
declaration that are used by foo.c.
|
||
|
Thus, we need to get them back, either by inserting the declaration in
|
||
|
foo.c (or any other header/unit), or by restoring subfoo.h to its
|
||
|
original state.
|
||
|
|
||
|
The later solution seems the easiest path, being less intrusive in
|
||
|
depcomp.sh.
|
||
|
---
|
||
|
t/ax/depcomp.sh | 4 ++--
|
||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/t/ax/depcomp.sh b/t/ax/depcomp.sh
|
||
|
index 7a3ac63a7..c92f7c8df 100644
|
||
|
--- a/t/ax/depcomp.sh
|
||
|
+++ b/t/ax/depcomp.sh
|
||
|
@@ -243,6 +243,7 @@ cat > sub/subfoo.h <<'END'
|
||
|
#include <stdio.h>
|
||
|
extern int subfoo (void);
|
||
|
END
|
||
|
+cp sub/subfoo.h sub/subfoo.save
|
||
|
|
||
|
cat > src/baz.c <<'END'
|
||
|
#include "baz.h"
|
||
|
@@ -399,8 +400,7 @@ do_test ()
|
||
|
&& rewrite "$srcdir"/sub/subfoo.h echo 'choke me' \
|
||
|
&& not $MAKE \
|
||
|
&& delete "$srcdir"/sub/subfoo.h \
|
||
|
- && edit "$srcdir"/sub/subfoo.c -e 1d \
|
||
|
- && edit "$srcdir"/foo.h -e 2d \
|
||
|
+ && cp "$srcdir"/sub/subfoo.save "$srcdir"/sub/subfoo.h \
|
||
|
&& make_ok \
|
||
|
|| r='not ok'
|
||
|
result_ "$r" "$pfx dependency tracking works"
|
||
|
--
|
||
|
2.39.0
|
||
|
|