Module Name: src Committed By: rillig Date: Sun Sep 13 18:27:39 UTC 2020
Modified Files: src/usr.bin/make: arch.c cond.c nonints.h parse.c suff.c var.c Log Message: make(1): prepare Var_Parse for proper error handling and reporting Right now, Var_Parse swallows many errors during parsing and evaluation. Ideally, these errors should propagate from the deeply nested expressions where they occur up to the top-level expressions. When such an error occurs, the depending expressions should not be evaluated any further. They may still be parsed, but side effects should be minimized. The goal is to prevent incomplete expressions like the "xy}" in moderrs.exp:106 from being evaluated and eventually passed to the shell for execution. This expression is a left-over from a parse error in the mod-t-parse target in moderrs.mk:154. This commit is a first step in analyzing and verifying the current state of affairs. The modelling in VarParseErrors already looks complicated but is expected to closely match reality. To generate a diff of this commit: cvs rdiff -u -r1.114 -r1.115 src/usr.bin/make/arch.c cvs rdiff -u -r1.144 -r1.145 src/usr.bin/make/cond.c cvs rdiff -u -r1.118 -r1.119 src/usr.bin/make/nonints.h cvs rdiff -u -r1.303 -r1.304 src/usr.bin/make/parse.c cvs rdiff -u -r1.155 -r1.156 src/usr.bin/make/suff.c cvs rdiff -u -r1.513 -r1.514 src/usr.bin/make/var.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.