From 934f2a9a90c5cad3cdc8a66b50c17827a3ddbcee Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sat, 20 Jan 2018 13:46:11 +0200 Subject: Get rid of action rule override semantics Instead we now have two more or less separate match states for outer and inner parts of an action. --- build2/dump.cxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'build2/dump.cxx') diff --git a/build2/dump.cxx b/build2/dump.cxx index f88dcfd..263f1b5 100644 --- a/build2/dump.cxx +++ b/build2/dump.cxx @@ -243,12 +243,14 @@ namespace build2 // Note: running serial and task_count is 0 before any operation has // started. // - if (size_t c = t.task_count.load (memory_order_relaxed)) + action inner; // @@ Only for the inner part of the action currently. + + if (size_t c = t[inner].task_count.load (memory_order_relaxed)) { if (c == target::count_applied () || c == target::count_executed ()) { bool f (false); - for (const target* pt: t.prerequisite_targets) + for (const target* pt: t.prerequisite_targets[inner]) { if (pt == nullptr) // Skipped. continue; -- cgit v1.1