From 934f2a9a90c5cad3cdc8a66b50c17827a3ddbcee Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sat, 20 Jan 2018 13:46:11 +0200 Subject: 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. --- build2/parser.cxx | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'build2/parser.cxx') 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, 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_; -- cgit v1.1