Commits (10)
-
Paul Smith authored74bd8b3a
-
Paul Smith authored7b0a7418
-
Paul Smith authored88732a29
-
Jouke Witteveen authored
* NEWS: Use "local" instead of the incorrect "lexically-scoped". * doc/make.texi: Refer to let/foreach variables as local variables.
e5f6dc54 -
Paul Smith authoredd9aff6b8
-
Paul Smith authored
* src/read.c (parse_var_assignment): If called in a target-specific variable context don't allow define/undefine as variable assignments. * test/scripts/variables/define: Add a test. * test/scripts/variables/undefine: Add a test.
da6fc6aa -
Paul Smith authored
While parsing makefiles get_next_mword() was treating VTAB as a word character rather than a word separator. However, when using find_next_token(), for example in patsubst_expand_pat(), we treated VTAB as a word separator causing multiple words to appear where we didn't expect them. * src/makeint.h (END_OF_TOKEN): Change from a loop to a boolean check. * src/misc.c (end_of_token): Move the loop here. * src/read.c (get_next_mword): Skip whitespace, not just blank, to find the start of the word and use END_OF_TOKEN() to decide when the current word is finished.
c66ec5fa -
Paul Smith authored
Initialize the global variable_buffer in main() so that it is never a null pointer. Then invoking variable_expand("") is never needed: simply use the variable_buffer pointer when we want to restart the variable buffer. The main point of this simplification is not to keep a separate pointer to the beginning of the buffer: this is dangerous because the buffer may be re-allocated. Instead always use the variable_buffer pointer itself. * src/variable.h (initialize_variable_output): Publish. * src/expand.c (initialize_variable_output): Remove static. * src/main.c (main): Initialize variable_buffer. * src/file.c (enter_prereqs): Don't call variable_expand("") and don't save a separate buffer pointer than might be outdated. (expand_deps): Ditto. * src/read.c (record_files): Ditto. * src/remake.c (library_search): Ditto.52056d7b -
Paul Smith authored144f436c
-
Dmitry Goncharov authored
If a prereq of a pattern is an explicit target, it should not be considered an intermediate file. (Minor tweaks by Paul Smith <psmith@gnu.org>) * src/dep.h (struct nameseq): Add is_explicit flag. * src/implicit.c (struct patdeps): Ditto. (pattern_search): Set the is_explicit flag appropriately for each prerequisite, based on whether it contained a pattern or not. Update the help output to note implicit vs. explicit prereqs. * tests/scripts/features/double_colon: Add tests. * tests/scripts/features/grouped_targets: Ditto. * tests/scripts/features/patternrules: Ditto. * tests/scripts/features/se_implicit: Ditto. * tests/scripts/features/statipattrules: Ditto.
510e5ce8
Showing