diff options
author | Nico Weber <nicolasweber@gmx.de> | 2015-03-24 01:16:36 (GMT) |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2015-03-24 01:16:36 (GMT) |
commit | 96d873e6efb5da29a683ff48294c2216a52e34c1 (patch) | |
tree | 79e83b5779d38c6369c01206b5c18b0e5f48cc68 /src/manifest_parser.cc | |
parent | da1be5ece1f164ec6087aafe4efb0084c474afea (diff) | |
download | Ninja-96d873e6efb5da29a683ff48294c2216a52e34c1.zip Ninja-96d873e6efb5da29a683ff48294c2216a52e34c1.tar.gz Ninja-96d873e6efb5da29a683ff48294c2216a52e34c1.tar.bz2 |
Move warning emission on dupe edges from State to ManifestParser.
This will make it easier to optionally make this an error (because
ManifestParser has a way of printing errors), and it'll also make
it easier to make the tests quiet again.
No behavior change.
Diffstat (limited to 'src/manifest_parser.cc')
-rw-r--r-- | src/manifest_parser.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/manifest_parser.cc b/src/manifest_parser.cc index b747ad4..ede5adb 100644 --- a/src/manifest_parser.cc +++ b/src/manifest_parser.cc @@ -328,7 +328,12 @@ bool ManifestParser::ParseEdge(string* err) { unsigned int slash_bits; if (!CanonicalizePath(&path, &slash_bits, &path_err)) return lexer_.Error(path_err, err); - state_->AddOut(edge, path, slash_bits); + if (!state_->AddOut(edge, path, slash_bits)) { + Warning("multiple rules generate %s. " + "builds involving this target will not be correct; " + "continuing anyway", + path.c_str()); + } } if (edge->outputs_.empty()) { // All outputs of the edge are already created by other edges. Don't add |