aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libbuild2/cc/compile-rule.cxx40
1 files changed, 2 insertions, 38 deletions
diff --git a/libbuild2/cc/compile-rule.cxx b/libbuild2/cc/compile-rule.cxx
index c6ecf5e..053cca6 100644
--- a/libbuild2/cc/compile-rule.cxx
+++ b/libbuild2/cc/compile-rule.cxx
@@ -972,8 +972,6 @@ namespace build2
//
wait_guard wg (ctx, ctx.count_busy (), t[a].task_count, true);
- target_state src_ts1 (target_state::unknown), src_ts2 (src_ts1);
-
size_t src_i (~0); // Index of src target.
size_t start (pts.size ()); // Index of the first to be added.
for (prerequisite_member p: group_prerequisite_members (a, t))
@@ -1042,24 +1040,16 @@ namespace build2
continue;
}
- target_state ts (
- match_async (a, *pt, ctx.count_busy (), t[a].task_count));
+ match_async (a, *pt, ctx.count_busy (), t[a].task_count);
if (p == md.src)
- {
src_i = pts.size ();
- src_ts1 = ts;
- }
pts.push_back (prerequisite_target (pt, pi));
}
- size_t src_tc1 (t[a].task_count.load (memory_order_consume));
-
wg.wait ();
- size_t src_tc2 (t[a].task_count.load (memory_order_consume));
-
// Finish matching all the targets that we have started.
//
for (size_t i (start), n (pts.size ()); i != n; ++i)
@@ -1083,8 +1073,6 @@ namespace build2
if (mr.first)
pt = nullptr; // Ignore in execute.
- else if (i == src_i)
- src_ts2 = mr.second;
}
// Inject additional prerequisites. We only do it when performing update
@@ -1232,32 +1220,8 @@ namespace build2
//
{
const path& p (src.path ());
-
- // @@ TMP: we seem to have a race condition here but can't quite put
- // our finger on it.
- //
- // NOTE: remember to get rid of src_ts*, etc., once done.
- //
-#if 0
assert (!p.empty ()); // Sanity check.
-#else
- if (p.empty ())
- {
- target_state src_ts3 (src.matched_state (a, false));
-
- info << "unassigned path for target " << src <<
- info << "is empty_path: " << (&p == &empty_path) <<
- info << "target state 1: " << src_ts1 <<
- info << "target state 2: " << src_ts2 <<
- info << "target state 3: " << src_ts3 <<
- info << "target count 1: " << src_tc1 <<
- info << "target count 2: " << src_tc2 <<
- info << "please report at "
- << "https://github.com/build2/build2/issues/89";
-
- assert (!p.empty ());
- }
-#endif
+
if (dd.expect (p) != nullptr)
l4 ([&]{trace << "source file mismatch forcing update of " << t;});
}