summaryrefslogtreecommitdiffstats
path: root/src/ninja.cc
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-09-07 17:55:14 (GMT)
committerBrad King <brad.king@kitware.com>2017-09-07 18:52:56 (GMT)
commite679202a14d9ca08ccd0f471f2bcbf6388ddb3de (patch)
treec952091bbf21cd362e806e974feab50789966c79 /src/ninja.cc
parent7738c19dc42f63bedb5cb728d6ebde71b8fdaaf4 (diff)
downloadNinja-e679202a14d9ca08ccd0f471f2bcbf6388ddb3de.zip
Ninja-e679202a14d9ca08ccd0f471f2bcbf6388ddb3de.tar.gz
Ninja-e679202a14d9ca08ccd0f471f2bcbf6388ddb3de.tar.bz2
Factor ManifestParser options into a structure
This will allow more options to be added without updating everywhere that constructs a ManifestParser. Also extend the AssertParse function to take the options so tests can control them.
Diffstat (limited to 'src/ninja.cc')
-rw-r--r--src/ninja.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/ninja.cc b/src/ninja.cc
index 54de7b9..586e8dc 100644
--- a/src/ninja.cc
+++ b/src/ninja.cc
@@ -1144,10 +1144,11 @@ int real_main(int argc, char** argv) {
for (int cycle = 1; cycle <= kCycleLimit; ++cycle) {
NinjaMain ninja(ninja_command, config);
- ManifestParser parser(&ninja.state_, &ninja.disk_interface_,
- options.dupe_edges_should_err
- ? kDupeEdgeActionError
- : kDupeEdgeActionWarn);
+ ManifestParserOptions parser_opts;
+ if (options.dupe_edges_should_err) {
+ parser_opts.dupe_edge_action_ = kDupeEdgeActionError;
+ }
+ ManifestParser parser(&ninja.state_, &ninja.disk_interface_, parser_opts);
string err;
if (!parser.Load(options.input_file, &err)) {
Error("%s", err.c_str());