make(1): add test for ignoring assignment to read-only variable

This commit is contained in:
rillig 2020-10-29 18:38:24 +00:00
parent d24669de54
commit 26bb639d2f
2 changed files with 9 additions and 1 deletions

View File

@ -78,6 +78,9 @@ Result of ${:unknown} is error (VARE_UNDEFERR|VARE_WANTRES, none, VEF_UNDEF|VEF_
make: "vardebug.mk" line 44: Malformed conditional (${:Uvariable:unknown})
Var_Parse: ${UNDEFINED} with VARE_UNDEFERR|VARE_WANTRES
make: "vardebug.mk" line 53: Malformed conditional (${UNDEFINED})
Global:delete .SHELL (not found)
Command:.SHELL = /bin/sh
Command:.SHELL = overwritten ignored (read-only)
Global:.MAKEFLAGS = -r -k -d v -d
Global:.MAKEFLAGS = -r -k -d v -d 0
make: Fatal errors encountered -- cannot continue

View File

@ -1,4 +1,4 @@
# $NetBSD: vardebug.mk,v 1.4 2020/10/29 18:19:41 rillig Exp $
# $NetBSD: vardebug.mk,v 1.5 2020/10/29 18:38:24 rillig Exp $
#
# Demonstrates the debugging output for var.c.
@ -53,6 +53,11 @@ VAR+= 3
.if ${UNDEFINED}
.endif
# By default, .SHELL is not defined and thus can be set. As soon as it is
# accessed, it is initialized in the command line context (during VarFind),
# where it is set to read-only. Assigning to it is ignored.
.MAKEFLAGS: .SHELL=overwritten
.MAKEFLAGS: -d0
all: