aboutsummaryrefslogtreecommitdiff
path: root/build2/install/rule.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-06-05 14:56:48 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-06-05 14:56:48 +0200
commita8c082e2adf9865636c0e0a6906c6fde3a7c3e69 (patch)
tree5fc32141aa91a8cdaa629fc6c5a8975127f6e39f /build2/install/rule.cxx
parente3a6b031d0ee4bd56b2a2296d5faeaff142e3569 (diff)
Remove implicit see-through iteration over ad hoc group members
This can only be done MT-safely after a synchronous match.
Diffstat (limited to 'build2/install/rule.cxx')
-rw-r--r--build2/install/rule.cxx10
1 files changed, 1 insertions, 9 deletions
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