summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-query/QueryParser.cpp
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2018-10-24 20:33:55 +0000
committerStephen Kelly <steveire@gmail.com>2018-10-24 20:33:55 +0000
commit70d771714ec6210df887139b2c1467c5acd79da1 (patch)
tree3b5fc2577ac3766bf691239ea725087cc4cb0eff /clang-tools-extra/clang-query/QueryParser.cpp
parent51707b21a0d7fe140fd0cf20f001192cecd301aa (diff)
downloadbcm5719-llvm-70d771714ec6210df887139b2c1467c5acd79da1.tar.gz
bcm5719-llvm-70d771714ec6210df887139b2c1467c5acd79da1.zip
[clang-query] Refactor Output settings to booleans
Summary: This will make it possible to add non-exclusive mode output. Reviewers: aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D53501 llvm-svn: 345194
Diffstat (limited to 'clang-tools-extra/clang-query/QueryParser.cpp')
-rw-r--r--clang-tools-extra/clang-query/QueryParser.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/clang-tools-extra/clang-query/QueryParser.cpp b/clang-tools-extra/clang-query/QueryParser.cpp
index eec32024945..b0dacea1004 100644
--- a/clang-tools-extra/clang-query/QueryParser.cpp
+++ b/clang-tools-extra/clang-query/QueryParser.cpp
@@ -119,7 +119,17 @@ QueryRef QueryParser::parseSetOutputKind() {
"expected 'diag', 'print', 'detailed-ast' or 'dump', got '" + ValStr +
"'");
}
- return new SetQuery<OutputKind>(&QuerySession::OutKind, OutputKind(OutKind));
+
+ switch (OutKind) {
+ case OK_DetailedAST:
+ return new SetExclusiveOutputQuery(&QuerySession::DetailedASTOutput);
+ case OK_Diag:
+ return new SetExclusiveOutputQuery(&QuerySession::DiagOutput);
+ case OK_Print:
+ return new SetExclusiveOutputQuery(&QuerySession::PrintOutput);
+ }
+
+ llvm_unreachable("Invalid output kind");
}
QueryRef QueryParser::endQuery(QueryRef Q) {
OpenPOWER on IntegriCloud