From 928f59d6722c9d1948ce142f2d7a79027c5430a5 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 8 Feb 2018 12:06:17 +0200 Subject: Fix meta-operation logic some more --- build2/b.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'build2/b.cxx') 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); -- cgit v1.1