1 # $NetBSD: varparse-errors.mk,v 1.3 2020/12/20 19:47:34 rillig Exp $
3 # Tests for parsing and evaluating all kinds of variable expressions.
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.
15 LITERAL_DOLLAR= To get a dollar, double $$ it.
17 INDIRECT= An ${:Uindirect} value.
19 REF_UNDEF= A reference to an ${UNDEF}undefined variable.
21 ERR_UNCLOSED= An ${UNCLOSED variable expression.
23 ERR_BAD_MOD= An ${:Uindirect:Z} expression with an unknown modifier.
25 ERR_EVAL= An evaluation error ${:Uvalue:C,.,\3,}.
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."
35 # As of 2020-12-01, errors in the variable name are silently ignored.
36 # Since var.c 1.754 from 2020-12-20, unknown modifiers at parse time result
37 # in an error message and a non-zero exit status.
38 VAR.${:U:Z}= unknown modifier in the variable name
39 .if ${VAR.} != "unknown modifier in the variable name"
43 # As of 2020-12-01, errors in the variable name are silently ignored.
44 # Since var.c 1.754 from 2020-12-20, unknown modifiers at parse time result
45 # in an error message and a non-zero exit status.
46 VAR.${:U:Z}post= unknown modifier with text in the variable name
47 .if ${VAR.post} != "unknown modifier with text in the variable name"