summaryrefslogtreecommitdiffstats
path: root/src/build.cc
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-08-06 17:30:09 (GMT)
committerBrad King <brad.king@kitware.com>2019-04-18 12:21:44 (GMT)
commit64acb1a22b1001df96a4dfb7f36c16d7f56df392 (patch)
tree0716b7870e2e271822fdd84504e04ac99a8ad9e0 /src/build.cc
parent70d356218beff99ddaa048ff357f2d2692a32b7a (diff)
downloadNinja-64acb1a22b1001df96a4dfb7f36c16d7f56df392.zip
Ninja-64acb1a22b1001df96a4dfb7f36c16d7f56df392.tar.gz
Ninja-64acb1a22b1001df96a4dfb7f36c16d7f56df392.tar.bz2
Factor out edge marking logic from Plan::AddSubTarget
Move the logic to mark edges as wanted over to a Plan::EdgeWanted method so it can be re-used elsewhere later.
Diffstat (limited to 'src/build.cc')
-rw-r--r--src/build.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/build.cc b/src/build.cc
index d76d7f2..7b53a5d 100644
--- a/src/build.cc
+++ b/src/build.cc
@@ -327,11 +327,9 @@ bool Plan::AddSubTarget(Node* node, Node* dependent, string* err) {
// mark it now.
if (node->dirty() && want == kWantNothing) {
want = kWantToStart;
- ++wanted_edges_;
+ EdgeWanted(edge);
if (edge->AllInputsReady())
ScheduleWork(want_ins.first);
- if (!edge->is_phony())
- ++command_edges_;
}
if (!want_ins.second)
@@ -346,6 +344,12 @@ bool Plan::AddSubTarget(Node* node, Node* dependent, string* err) {
return true;
}
+void Plan::EdgeWanted(Edge* edge) {
+ ++wanted_edges_;
+ if (!edge->is_phony())
+ ++command_edges_;
+}
+
Edge* Plan::FindWork() {
if (ready_.empty())
return NULL;