From 9fa5209175dffb881e8ec6c5f6ad4fc54448244a Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 13 Aug 2015 14:48:41 +0200 Subject: Rework postponed logic Specifically, now postponed is only used by the execution mode logic and rules should not return it directly. --- build/context | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'build/context') diff --git a/build/context b/build/context index c8200b7..b8d178b 100644 --- a/build/context +++ b/build/context @@ -7,6 +7,7 @@ #include #include +#include // uint64_t #include @@ -33,6 +34,14 @@ namespace build extern execution_mode current_mode; + // Total number of dependency relationships in the current action. + // Together with the target::dependents count it is incremented + // during the rule search & match phase and is decremented during + // execution with the expectation of it reaching 0. Used as a sanity + // check. + // + extern std::uint64_t dependency_count; + // Reset the dependency state. In particular, this removes all the // targets, scopes, and variable names. // -- cgit v1.1