diff options
-rw-r--r-- | build2/target.ixx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/build2/target.ixx b/build2/target.ixx index 9b4b9d8..6225aef 100644 --- a/build2/target.ixx +++ b/build2/target.ixx @@ -73,12 +73,13 @@ namespace build2 group_state () const { // We go an extra step and short-circuit to the target state even if the - // raw state is not group provided the recipe is group_recipe. + // raw state is not group provided the recipe is group_recipe and the + // state is not failed. if (state_ == target_state::group) return true; - if (group != nullptr) + if (state_ != target_state::failed && group != nullptr) { if (recipe_function* const* f = recipe_.target<recipe_function*> ()) return *f == &group_action; |