diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2018-02-08 12:06:17 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2018-02-08 12:06:17 +0200 |
commit | 928f59d6722c9d1948ce142f2d7a79027c5430a5 (patch) | |
tree | 0cd960d06c6b8ad5139537a9fbbd97821f0ca9c0 | |
parent | e285563fbc9b42cb2fb2da2088f4ffb6f17f0181 (diff) |
Fix meta-operation logic some more
-rw-r--r-- | build2/b.cxx | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/build2/b.cxx b/build2/b.cxx index 47cbef2..36bcb2a 100644 --- a/build2/b.cxx +++ b/build2/b.cxx @@ -578,6 +578,8 @@ main (int argc, char* argv[]) values& mparams (lifted == nullptr ? mit->params : lifted->params); string mname (lifted == nullptr ? mit->name : lifted->name); + current_mname = mname; // Set early. + if (!mname.empty ()) { if (meta_operation_id m = meta_operation_table.find (mname)) @@ -585,12 +587,11 @@ main (int argc, char* argv[]) // Can modify params, opspec, change meta-operation name. // if (auto f = meta_operation_table[m].process) - mname = f (var_ovs, mparams, opspecs, lifted != nullptr, l); + mname = current_mname = + f (var_ovs, mparams, opspecs, lifted != nullptr, l); } } - current_mname = mname; // Set early. - for (auto oit (opspecs.begin ()); oit != opspecs.end (); ++oit) { opspec& os (*oit); |