diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-11-29 14:31:00 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-11-29 14:31:00 +0200 |
commit | b1d778b2303c3dcb3f70e4b29a0a9bcba72c11d6 (patch) | |
tree | c300eebf51f2f72d37bfea48114ffcefedc61fc5 /build/target | |
parent | 15d7a706a5f6904a4f295b5cddd7cbd51b04e863 (diff) |
Allow for target group members to remain unresolved
This, for example, can happen when we have a fallback rule for dist(update)
or configure(update).
Diffstat (limited to 'build/target')
-rw-r--r-- | build/target | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/build/target b/build/target index f2b093e..d451851 100644 --- a/build/target +++ b/build/target @@ -609,14 +609,18 @@ namespace build g_.count = 1; } - // Iterate over this group's members. Similar to leave_group(), - // you should increment the iterator after calling this function. + // Iterate over this group's members. Return false if the member + // information is not available. Similar to leave_group(), you + // should increment the iterator after calling this function + // (provided it returned true). // - void + bool enter_group () { - switch_members (); - --j_; // Compensate for the increment that will follow. + bool r (switch_members ()); + if (r) + --j_; // Compensate for the increment that will follow. + return r; } value_type operator* () const @@ -646,7 +650,7 @@ namespace build operator!= (const iterator& x, const iterator& y) {return !(x == y);} private: - void + bool switch_members (); private: |