hokein created this revision. hokein added a reviewer: kbobyrev. hokein requested review of this revision. Herald added a project: clang.
It is useful for syntax-tree developement. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D96017 Files: clang/tools/clang-check/ClangCheck.cpp Index: clang/tools/clang-check/ClangCheck.cpp =================================================================== --- clang/tools/clang-check/ClangCheck.cpp +++ clang/tools/clang-check/ClangCheck.cpp @@ -88,6 +88,9 @@ static cl::opt<bool> SyntaxTreeDump("syntax-tree-dump", cl::desc("dump the syntax tree"), cl::cat(ClangCheckCategory)); +static cl::opt<bool> TokensDump("tokens-dump", + cl::desc("dump the preprocessed tokens"), + cl::cat(ClangCheckCategory)); namespace { @@ -148,6 +151,8 @@ void HandleTranslationUnit(clang::ASTContext &AST) override { clang::syntax::TokenBuffer TB = std::move(Collector).consume(); + if (TokensDump) + llvm::outs() << TB.dumpForTests(); clang::syntax::Arena A(AST.getSourceManager(), AST.getLangOpts(), TB); llvm::outs() << clang::syntax::buildSyntaxTree(A, AST)->dump( AST.getSourceManager()); @@ -217,7 +222,7 @@ FrontendFactory = newFrontendActionFactory<clang::ento::AnalysisAction>(); else if (Fixit) FrontendFactory = newFrontendActionFactory<ClangCheckFixItAction>(); - else if (SyntaxTreeDump) + else if (SyntaxTreeDump || TokensDump) FrontendFactory = newFrontendActionFactory<DumpSyntaxTree>(); else FrontendFactory = newFrontendActionFactory(&CheckFactory);
Index: clang/tools/clang-check/ClangCheck.cpp =================================================================== --- clang/tools/clang-check/ClangCheck.cpp +++ clang/tools/clang-check/ClangCheck.cpp @@ -88,6 +88,9 @@ static cl::opt<bool> SyntaxTreeDump("syntax-tree-dump", cl::desc("dump the syntax tree"), cl::cat(ClangCheckCategory)); +static cl::opt<bool> TokensDump("tokens-dump", + cl::desc("dump the preprocessed tokens"), + cl::cat(ClangCheckCategory)); namespace { @@ -148,6 +151,8 @@ void HandleTranslationUnit(clang::ASTContext &AST) override { clang::syntax::TokenBuffer TB = std::move(Collector).consume(); + if (TokensDump) + llvm::outs() << TB.dumpForTests(); clang::syntax::Arena A(AST.getSourceManager(), AST.getLangOpts(), TB); llvm::outs() << clang::syntax::buildSyntaxTree(A, AST)->dump( AST.getSourceManager()); @@ -217,7 +222,7 @@ FrontendFactory = newFrontendActionFactory<clang::ento::AnalysisAction>(); else if (Fixit) FrontendFactory = newFrontendActionFactory<ClangCheckFixItAction>(); - else if (SyntaxTreeDump) + else if (SyntaxTreeDump || TokensDump) FrontendFactory = newFrontendActionFactory<DumpSyntaxTree>(); else FrontendFactory = newFrontendActionFactory(&CheckFactory);
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits