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:           Mon Mar 15 12:15:03 UTC 2021

Modified Files:
        src/usr.bin/make: arch.c cond.c meta.c nonints.h parse.c suff.c var.c
        src/usr.bin/make/unit-tests: cond-func-empty.mk recursive.mk
            varmod-defined.mk varmod-ifelse.mk varmod-loop.mk
            varparse-errors.mk

Log Message:
make: replace enum bit-field with struct bit-field for VarEvalFlags

This makes the code easier to read, especially in var.c.  It also makes
debugging sessions easier since some debuggers don't show enum
bit-fields symbolically as soon as more than one bit is set.

The code outside var.c is basically unchanged, except that instead of
passing the individual flags, there are 4 predefined evaluation modes.
These suffice for all practical use cases.  Only in the implementation
deep inside var.c, the value of the flags keepDollar and keepUndef
differs.

There is no way of passing the struct to EnumFlags_ToString, which means
the ToString function has to be spelled out explicitly.  This allows for
fine-tuning the representation in the debug log, to reduce the amount of
uppercae letters.

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.197 -r1.198 src/usr.bin/make/arch.c
cvs rdiff -u -r1.258 -r1.259 src/usr.bin/make/cond.c
cvs rdiff -u -r1.178 -r1.179 src/usr.bin/make/meta.c
cvs rdiff -u -r1.204 -r1.205 src/usr.bin/make/nonints.h
cvs rdiff -u -r1.551 -r1.552 src/usr.bin/make/parse.c
cvs rdiff -u -r1.347 -r1.348 src/usr.bin/make/suff.c
cvs rdiff -u -r1.884 -r1.885 src/usr.bin/make/var.c
cvs rdiff -u -r1.12 -r1.13 src/usr.bin/make/unit-tests/cond-func-empty.mk
cvs rdiff -u -r1.4 -r1.5 src/usr.bin/make/unit-tests/recursive.mk
cvs rdiff -u -r1.9 -r1.10 src/usr.bin/make/unit-tests/varmod-defined.mk \
    src/usr.bin/make/unit-tests/varmod-ifelse.mk
cvs rdiff -u -r1.10 -r1.11 src/usr.bin/make/unit-tests/varmod-loop.mk
cvs rdiff -u -r1.3 -r1.4 src/usr.bin/make/unit-tests/varparse-errors.mk

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