1# $NetBSD: varparse-errors.mk,v 1.2 2020/12/01 20:15:23 rillig Exp $ 2 3# Tests for parsing and evaluating all kinds of variable expressions. 4# 5# This is the basis for redesigning the error handling in Var_Parse and 6# Var_Subst, collecting typical and not so typical use cases. 7# 8# See also: 9# VarParseResult 10# Var_Parse 11# Var_Subst 12 13PLAIN= plain value 14 15LITERAL_DOLLAR= To get a dollar, double $$ it. 16 17INDIRECT= An ${:Uindirect} value. 18 19REF_UNDEF= A reference to an ${UNDEF}undefined variable. 20 21ERR_UNCLOSED= An ${UNCLOSED variable expression. 22 23ERR_BAD_MOD= An ${:Uindirect:Z} expression with an unknown modifier. 24 25ERR_EVAL= An evaluation error ${:Uvalue:C,.,\3,}. 26 27# In a conditional, a variable expression that is not enclosed in quotes is 28# expanded using the flags VARE_UNDEFERR and VARE_WANTRES. 29# The variable itself must be defined. 30# It may refer to undefined variables though. 31.if ${REF_UNDEF} != "A reference to an undefined variable." 32. error 33.endif 34 35# As of 2020-12-01, errors in the variable name are silently ignored. 36VAR.${:U:Z}= unknown modifier in the variable name 37.if ${VAR.} != "unknown modifier in the variable name" 38. error 39.endif 40 41# As of 2020-12-01, errors in the variable name are silently ignored. 42VAR.${:U:Z}post= unknown modifier with text in the variable name 43.if ${VAR.post} != "unknown modifier with text in the variable name" 44. error 45.endif 46 47all: 48