Sun Jul 26 11:19:04 2020 UTC ()
make(1): add test for prefix mismatch in SysV substitution


(rillig)
diff -r1.8 -r1.9 src/usr.bin/make/unit-tests/sysv.exp
diff -r1.8 -r1.9 src/usr.bin/make/unit-tests/sysv.mk

cvs diff -r1.8 -r1.9 src/usr.bin/make/unit-tests/Attic/sysv.exp (expand / switch to context diff)
--- src/usr.bin/make/unit-tests/Attic/sysv.exp 2020/07/20 16:32:14 1.8
+++ src/usr.bin/make/unit-tests/Attic/sysv.exp 2020/07/26 11:19:04 1.9
@@ -17,4 +17,6 @@
 &
 anchor-dollar: value
 anchor-dollar: valux
+mismatch: file.cpp file.h
+mismatch: renamed.c other.c
 exit status 0

cvs diff -r1.8 -r1.9 src/usr.bin/make/unit-tests/Attic/sysv.mk (expand / switch to context diff)
--- src/usr.bin/make/unit-tests/Attic/sysv.mk 2020/07/20 16:27:55 1.8
+++ src/usr.bin/make/unit-tests/Attic/sysv.mk 2020/07/26 11:19:04 1.9
@@ -1,6 +1,7 @@
-# $Id: sysv.mk,v 1.8 2020/07/20 16:27:55 rillig Exp $
+# $Id: sysv.mk,v 1.9 2020/07/26 11:19:04 rillig Exp $
 
 all: foo fun sam bla words ampersand anchor-dollar
+all: mismatch
 
 FOO ?=
 FOOBAR = ${FOO:=bar}
@@ -61,3 +62,9 @@
 anchor-dollar:
 	@echo $@: ${:U${value:L:e$=x}:Q}
 	@echo $@: ${:U${value:L:e=x}:Q}
+
+# Words that don't match are copied unmodified.
+# The % placeholder can be anywhere in the string.
+mismatch:
+	@echo $@: ${:Ufile.c file.h:%.c=%.cpp}
+	@echo $@: ${:Ufile.c other.c:file.%=renamed.%}