aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/algorithm.ixx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2023-06-01 08:49:34 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2023-06-01 08:49:34 +0200
commit3a71bffd5680d64d19c914aa9dbf1a8fc9f094ef (patch)
tree4eb31a41b91696cc0faaa128957eef26a0d3bb8f /libbuild2/algorithm.ixx
parentab424dffc590483c3a6a43f5e8ecb012aa9d6a78 (diff)
Resolve (but disable for now) target_count issue in resolve_members()
Diffstat (limited to 'libbuild2/algorithm.ixx')
-rw-r--r--libbuild2/algorithm.ixx9
1 files changed, 6 insertions, 3 deletions
diff --git a/libbuild2/algorithm.ixx b/libbuild2/algorithm.ixx
index d2cd018..6fcc1e9 100644
--- a/libbuild2/algorithm.ixx
+++ b/libbuild2/algorithm.ixx
@@ -535,9 +535,12 @@ namespace build2
inline void
clear_target (action a, target& t)
{
- t[a].vars.clear ();
+ target::opstate& s (t.state[a]);
+ s.recipe = nullptr;
+ s.recipe_keep = false;
+ s.resolve_counted = false;
+ s.vars.clear ();
t.prerequisite_targets[a].clear ();
- t.clear_data (a);
}
LIBBUILD2_SYMEXPORT void
@@ -842,7 +845,7 @@ namespace build2
}
inline target_state
- execute_inner (action a, const target& t)
+ execute_inner (action a, const target& t) // @@ TMP Why inline (used as recipe)?
{
assert (a.outer ());
return execute_sync (a.inner_action (), t);