diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2019-05-13 12:18:15 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2019-05-13 12:18:15 +0200 |
commit | 59692f8b9fa2b71711de78d07f031c4866024da4 (patch) | |
tree | 49962a069bbfcc424a19a524b223f7f82566f8c8 /build2/parser.cxx | |
parent | cff78d388133e50d4b930915ae0bb2d0cafe1248 (diff) |
Remove order dependence in ad hoc group handling
Also, don't match group_recipe since we neither execute nor access the
state.
Diffstat (limited to 'build2/parser.cxx')
-rw-r--r-- | build2/parser.cxx | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/build2/parser.cxx b/build2/parser.cxx index 27910b7..06be54a 100644 --- a/build2/parser.cxx +++ b/build2/parser.cxx @@ -985,6 +985,8 @@ namespace build2 // Add as an ad hoc member at the end of the chain skipping duplicates. // { + // @@ ADHOC: call add_adhoc_member()? + // const_ptr<target>* mp (&target_->member); for (; *mp != nullptr; mp = &(*mp)->member) { @@ -1004,26 +1006,11 @@ namespace build2 continue; // Duplicate. } + // @@ ADHOC: What if it's something like .pdb where the group derives a + // custom extension... Hm... + // if (file* ft = at.is_a<file> ()) ft->derive_path (); - - // Pre-match this target. Feels fuzzy/hacky. - // - // See match_recipe() and set_recipe() that it calls for the - // approximate semantics we want to achieve. - // - // @@ Can such a target be used as a prerequisite? Feels like - // will require a "permanenly applied" task_count value? Maybe - // special "adhoc" value? - // - { - auto& i (at.state.data[0]); // inner opstate - auto& o (at.state.data[1]); // outer opstate - - i.rule = o.rule = nullptr; - i.recipe = o.recipe = group_recipe; - i.state = o.state = target_state::group; - } } } |