summaryrefslogtreecommitdiffstats
path: root/src/build.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-06-18 17:41:35 (GMT)
committerBrad King <brad.king@kitware.com>2019-04-18 12:21:44 (GMT)
commite50299c5004e1890d5335f4d51e8e576fa6836d5 (patch)
treebf2e3ba2be1b0b885c37c1796f1d90662ef414e8 /src/build.h
parent54520575cd11250ecf5d115b74fce5b8acd3e1aa (diff)
downloadNinja-e50299c5004e1890d5335f4d51e8e576fa6836d5.zip
Ninja-e50299c5004e1890d5335f4d51e8e576fa6836d5.tar.gz
Ninja-e50299c5004e1890d5335f4d51e8e576fa6836d5.tar.bz2
Allow EdgeFinished and NodeFinished to fail with errors
Add an 'err' string argument and return a boolean for success. Update call sites to pass an 'err' string argument and check the return value. This will be useful later for adding logic to these methods that may fail.
Diffstat (limited to 'src/build.h')
-rw-r--r--src/build.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/build.h b/src/build.h
index a42b8d4..fdd9891 100644
--- a/src/build.h
+++ b/src/build.h
@@ -63,7 +63,8 @@ struct Plan {
};
/// Mark an edge as done building (whether it succeeded or failed).
- void EdgeFinished(Edge* edge, EdgeResult result);
+ /// Returns 'true'.
+ bool EdgeFinished(Edge* edge, EdgeResult result, string* err);
/// Clean the given node during the build.
/// Return false on error.
@@ -77,7 +78,10 @@ struct Plan {
private:
bool AddSubTarget(Node* node, Node* dependent, string* err);
- void NodeFinished(Node* node);
+
+ /// Update plan with knowledge that the given node is up to date.
+ /// Returns 'true'.
+ bool NodeFinished(Node* node, string* err);
/// Enumerate possible steps we want for an edge.
enum Want