diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | tests/ChangeLog | 5 | ||||
-rw-r--r-- | tests/scripts/features/targetvars | 20 | ||||
-rw-r--r-- | variable.c | 3 |
4 files changed, 34 insertions, 2 deletions
@@ -1,3 +1,11 @@ +1999-10-08 Paul D. Smith <psmith@gnu.org> + + * variable.c (initialize_file_variables): Always recurse to + initialize the parent's file variables: the parent might not have + any rules to run so it might not have been initialized before + this--we need this to set up the chain properly for + target-specific variables. + 1999-09-23 Paul D. Smith <psmith@gnu.org> * Version 3.78.1 released. diff --git a/tests/ChangeLog b/tests/ChangeLog index 871cab9..ef2ef62 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,8 @@ +1999-10-08 Paul D. Smith <psmith@gnu.org> + + * scripts/features/targetvars: Add a check for PR/1378: + "Target-specific vars don't inherit correctly" + 1999-09-29 Paul D. Smith <psmith@gnu.org> * test_driver.pl (get_osname): Change $fancy_file_names to diff --git a/tests/scripts/features/targetvars b/tests/scripts/features/targetvars index e9fe092..83bf9ed 100644 --- a/tests/scripts/features/targetvars +++ b/tests/scripts/features/targetvars @@ -105,4 +105,24 @@ $answer = "qvar = qvar\nqvar =\n"; &compare_output($answer,&get_logfile(1)); +# TEST #8 +# For PR/1378: Target-specific vars don't inherit correctly + +$makefile2 = &get_tmpfile; + +open(MAKEFILE,"> $makefile2"); +print MAKEFILE <<'EOF'; +foo: FOO = foo +bar: BAR = bar +foo: bar +bar: baz +baz: ; @echo $(FOO) $(BAR) +EOF +close(MAKEFILE); + +&run_make_with_options("$makefile2", "", &get_logfile); +$answer = "foo bar\n"; +&compare_output($answer, &get_logfile(1)); + + 1; @@ -238,8 +238,7 @@ initialize_file_variables (file) l->next = &global_setlist; else { - if (file->parent->variables == 0) - initialize_file_variables (file->parent); + initialize_file_variables (file->parent); l->next = file->parent->variables; } } |