mirror of
https://github.com/mirror/make.git
synced 2025-01-08 19:30:26 +08:00
9ae02b7916
For performance, we only recompute .VARIABLES when (a) it's expanded and (b) when its value will change from a previous expansion. To determine (b) we were checking the number of entries in the hash table which used to work until we started undefining entries: now if you undefine and redefine the same number of entries in between expanding .VARIABLES, it doesn't detect any change. Instead, keep an increasing change number. * variables.c: Add variable_changenum. (define_variable_in_set, merge_variable_sets): Increment variable_changenum if adding a new variable to the global set. (undefine_variable_in_set): Increment variable_changenum if undefining a variable from the global set. (lookup_special_var): Test variable_changenum not the hash table. * tests/scripts/variables/special: Test undefining variables. |
||
---|---|---|
.. | ||
features | ||
functions | ||
misc | ||
options | ||
targets | ||
variables | ||
vms | ||
test_template |