summaryrefslogtreecommitdiffstats
path: root/src/graph.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-11-30 18:56:04 (GMT)
committerBrad King <brad.king@kitware.com>2019-04-18 12:21:44 (GMT)
commit325602ca41c76753470b991c7a47b76b15e4241b (patch)
tree3a0fe810e629519ca8ba32510c515827e08eb852 /src/graph.h
parentb08f3fb86909bf5b890e33936cf8fd44e1cbff47 (diff)
downloadNinja-325602ca41c76753470b991c7a47b76b15e4241b.zip
Ninja-325602ca41c76753470b991c7a47b76b15e4241b.tar.gz
Ninja-325602ca41c76753470b991c7a47b76b15e4241b.tar.bz2
Explicitly avoid repeat deps loading
Track for each Edge whether depfile information has been loaded using an explicit flag. This will allow RecomputeDirty to be repeated for an edge without loading deps again.
Diffstat (limited to 'src/graph.h')
-rw-r--r--src/graph.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/graph.h b/src/graph.h
index d58fecd..20af578 100644
--- a/src/graph.h
+++ b/src/graph.h
@@ -136,7 +136,7 @@ struct Edge {
};
Edge() : rule_(NULL), pool_(NULL), env_(NULL), mark_(VisitNone),
- outputs_ready_(false), deps_missing_(false),
+ outputs_ready_(false), deps_loaded_(false), deps_missing_(false),
implicit_deps_(0), order_only_deps_(0), implicit_outs_(0) {}
/// Return true if all inputs' in-edges are ready.
@@ -165,6 +165,7 @@ struct Edge {
BindingEnv* env_;
VisitMark mark_;
bool outputs_ready_;
+ bool deps_loaded_;
bool deps_missing_;
const Rule& rule() const { return *rule_; }