diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2018-01-20 13:46:11 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2018-02-03 14:35:45 +0200 |
commit | 934f2a9a90c5cad3cdc8a66b50c17827a3ddbcee (patch) | |
tree | f35f106e5369e98350327c79080c571195234c0b /build2/parser.cxx | |
parent | 280f4a5bf787587227ca193cd59c6bd74091db70 (diff) |
Get rid of action rule override semantics
Instead we now have two more or less separate match states for outer and
inner parts of an action.
Diffstat (limited to 'build2/parser.cxx')
-rw-r--r-- | build2/parser.cxx | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/build2/parser.cxx b/build2/parser.cxx index b21d51c..5687b0f 100644 --- a/build2/parser.cxx +++ b/build2/parser.cxx @@ -747,14 +747,15 @@ namespace build2 // small_vector<reference_wrapper<target>, 1> tgs; - for (auto& tn: ns) + for (auto i (ns.begin ()), e (ns.end ()); i != e; ++i) { - if (tn.qualified ()) - fail (nloc) << "project name in target " << tn; + name& n (*i); - // @@ OUT TODO - // - enter_target tg (*this, move (tn), name (), false, nloc, trace); + if (n.qualified ()) + fail (nloc) << "project name in target " << n; + + name o (n.pair ? move (*++i) : name ()); + enter_target tg (*this, move (n), move (o), false, nloc, trace); if (default_target_ == nullptr) default_target_ = target_; |