Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/usr.bin/make



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.




Home | Main Index | Thread Index | Old Index