From 6082d76936b8a65380eb7af03b4167d8f0298158 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 21 Apr 2016 12:18:15 +0200 Subject: Implement short-circuiting to group state This is necessary to get rid of bogus restarts in inject_prerequisites() where it think a group member was updated since its state changed from unknown to (group's) changed. --- build2/cxx/compile.cxx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'build2/cxx/compile.cxx') diff --git a/build2/cxx/compile.cxx b/build2/cxx/compile.cxx index b7577d4..a7986c5 100644 --- a/build2/cxx/compile.cxx +++ b/build2/cxx/compile.cxx @@ -571,7 +571,9 @@ namespace build2 if (ns != os && ns != target_state::unchanged) { - l6 ([&]{trace << "updated " << pt;}); + l6 ([&]{trace << "updated " << pt + << "; old state " << os + << "; new state " << ns;}); return true; } } @@ -588,8 +590,8 @@ namespace build2 return false; }; - // Update and add header file to the list of prerequisite targets. - // Depending on the cache flag, the file is assumed to either have comes + // Update and add a header file to the list of prerequisite targets. + // Depending on the cache flag, the file is assumed to either have come // from the depdb cache or from the compiler run. Return whether the // extraction process should be restarted. // -- cgit v1.1