--- - branch: MAIN date: Mon Mar 15 12:15:03 UTC 2021 files: - new: '1.198' old: '1.197' path: src/usr.bin/make/arch.c pathrev: src/usr.bin/make/arch.c@1.198 type: modified - new: '1.259' old: '1.258' path: src/usr.bin/make/cond.c pathrev: src/usr.bin/make/cond.c@1.259 type: modified - new: '1.179' old: '1.178' path: src/usr.bin/make/meta.c pathrev: src/usr.bin/make/meta.c@1.179 type: modified - new: '1.205' old: '1.204' path: src/usr.bin/make/nonints.h pathrev: src/usr.bin/make/nonints.h@1.205 type: modified - new: '1.552' old: '1.551' path: src/usr.bin/make/parse.c pathrev: src/usr.bin/make/parse.c@1.552 type: modified - new: '1.348' old: '1.347' path: src/usr.bin/make/suff.c pathrev: src/usr.bin/make/suff.c@1.348 type: modified - new: '1.885' old: '1.884' path: src/usr.bin/make/var.c pathrev: src/usr.bin/make/var.c@1.885 type: modified - new: '1.13' old: '1.12' path: src/usr.bin/make/unit-tests/cond-func-empty.mk pathrev: src/usr.bin/make/unit-tests/cond-func-empty.mk@1.13 type: modified - new: '1.5' old: '1.4' path: src/usr.bin/make/unit-tests/recursive.mk pathrev: src/usr.bin/make/unit-tests/recursive.mk@1.5 type: modified - new: '1.10' old: '1.9' path: src/usr.bin/make/unit-tests/varmod-defined.mk pathrev: src/usr.bin/make/unit-tests/varmod-defined.mk@1.10 type: modified - new: '1.10' old: '1.9' path: src/usr.bin/make/unit-tests/varmod-ifelse.mk pathrev: src/usr.bin/make/unit-tests/varmod-ifelse.mk@1.10 type: modified - new: '1.11' old: '1.10' path: src/usr.bin/make/unit-tests/varmod-loop.mk pathrev: src/usr.bin/make/unit-tests/varmod-loop.mk@1.11 type: modified - new: '1.4' old: '1.3' path: src/usr.bin/make/unit-tests/varparse-errors.mk pathrev: src/usr.bin/make/unit-tests/varparse-errors.mk@1.4 type: modified id: 20210315T121503Z.764e1c91534b6c366628c968e1150733ef6e6bff log: | 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. module: src subject: 'CVS commit: src/usr.bin/make' unixtime: '1615810503' user: rillig