summaryrefslogtreecommitdiffstats
path: root/src/state.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/state.h')
-rw-r--r--src/state.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/state.h b/src/state.h
index 886b78f..8789cb1 100644
--- a/src/state.h
+++ b/src/state.h
@@ -62,7 +62,7 @@ struct Pool {
void DelayEdge(Edge* edge);
/// Pool will add zero or more edges to the ready_queue
- void RetrieveReadyEdges(EdgeSet* ready_queue);
+ void RetrieveReadyEdges(EdgePriorityQueue* ready_queue);
/// Dump the Pool and its edges (useful for debugging).
void Dump() const;
@@ -80,7 +80,10 @@ struct Pool {
if (!a) return b;
if (!b) return false;
int weight_diff = a->weight() - b->weight();
- return ((weight_diff < 0) || (weight_diff == 0 && EdgeCmp()(a, b)));
+ if (weight_diff != 0) {
+ return weight_diff < 0;
+ }
+ return EdgePriorityGreater()(a, b);
}
};
@@ -109,7 +112,7 @@ struct State {
/// ensures that the generated_by_dep_loader() flag for all these nodes
/// is set to false, to indicate that they come from the input manifest.
void AddIn(Edge* edge, StringPiece path, uint64_t slash_bits);
- bool AddOut(Edge* edge, StringPiece path, uint64_t slash_bits);
+ bool AddOut(Edge* edge, StringPiece path, uint64_t slash_bits, std::string* err);
void AddValidation(Edge* edge, StringPiece path, uint64_t slash_bits);
bool AddDefault(StringPiece path, std::string* error);