diff options
Diffstat (limited to 'clang-tools-extra/clang-query/QueryParser.cpp')
-rw-r--r-- | clang-tools-extra/clang-query/QueryParser.cpp | 12 |
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) { |