Module Name:    src
Committed By:   rillig
Date:           Sun Dec 27 18:20:26 UTC 2020

Modified Files:
        src/usr.bin/make/unit-tests: deptgt.exp deptgt.mk

Log Message:
make(1): add test for ParseDependencyTargetWord


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/usr.bin/make/unit-tests/deptgt.exp
cvs rdiff -u -r1.9 -r1.10 src/usr.bin/make/unit-tests/deptgt.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/make/unit-tests/deptgt.exp
diff -u src/usr.bin/make/unit-tests/deptgt.exp:1.5 src/usr.bin/make/unit-tests/deptgt.exp:1.6
--- src/usr.bin/make/unit-tests/deptgt.exp:1.5	Sun Nov 15 11:57:00 2020
+++ src/usr.bin/make/unit-tests/deptgt.exp	Sun Dec 27 18:20:26 2020
@@ -8,6 +8,7 @@ ParseDoDependency(: empty-source)
 ParseReadLine (37): '	: command for empty targets list'
 ParseReadLine (38): '.MAKEFLAGS: -d0'
 ParseDoDependency(.MAKEFLAGS: -d0)
+make: "deptgt.mk" line 46: Unknown modifier 'Z'
 make: Fatal errors encountered -- cannot continue
 make: stopped in unit-tests
 exit status 1

Index: src/usr.bin/make/unit-tests/deptgt.mk
diff -u src/usr.bin/make/unit-tests/deptgt.mk:1.9 src/usr.bin/make/unit-tests/deptgt.mk:1.10
--- src/usr.bin/make/unit-tests/deptgt.mk:1.9	Sun Nov 15 11:57:00 2020
+++ src/usr.bin/make/unit-tests/deptgt.mk	Sun Dec 27 18:20:26 2020
@@ -1,4 +1,4 @@
-# $NetBSD: deptgt.mk,v 1.9 2020/11/15 11:57:00 rillig Exp $
+# $NetBSD: deptgt.mk,v 1.10 2020/12/27 18:20:26 rillig Exp $
 #
 # Tests for special targets like .BEGIN or .SUFFIXES in dependency
 # declarations.
@@ -37,5 +37,13 @@ ${:U}: empty-source
 	: command for empty targets list
 .MAKEFLAGS: -d0
 
+# Just to show that a malformed expression is only expanded once in
+# ParseDependencyTargetWord.  The only way to produce an expression that
+# is well-formed on the first expansion and ill-formed on the second
+# expansion would be to use the variable modifier '::=' to modify the
+# targets.  This in turn would be such an extreme and unreliable edge case
+# that nobody uses it.
+$$$$$$$${:U:Z}:
+
 all:
 	@:;

Reply via email to