aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/algorithm.ixx
diff options
context:
space:
mode:
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);