From a8c082e2adf9865636c0e0a6906c6fde3a7c3e69 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 5 Jun 2017 14:56:48 +0200 Subject: Remove implicit see-through iteration over ad hoc group members This can only be done MT-safely after a synchronous match. --- build2/install/rule.cxx | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'build2/install/rule.cxx') diff --git a/build2/install/rule.cxx b/build2/install/rule.cxx index 3a56480..6b0905f 100644 --- a/build2/install/rule.cxx +++ b/build2/install/rule.cxx @@ -150,11 +150,8 @@ namespace build2 // run standard search_and_match()? Will need an indicator // that it was forced (e.g., [install]) for filter() below. // - auto r (group_prerequisite_members (a, t)); - for (auto i (r.begin ()); i != r.end (); ++i) + for (prerequisite_member p: group_prerequisite_members (a, t)) { - prerequisite_member p (*i); - // Ignore unresolved targets that are imported from other projects. // We are definitely not installing those. // @@ -181,11 +178,6 @@ namespace build2 // if (!build2::match (a, *pt, unmatch::unchanged)) t.prerequisite_targets.push_back (pt); - - // Skip members of ad hoc groups. We handle them explicitly below. - // - if (pt->adhoc_group ()) - i.leave_group (); } // This is where we diverge depending on the operation. In the -- cgit v1.1