convert ast printer and dumper ocver to ASTConsumer interface,
genericizing them and eliminating boilerplate code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41992 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index d6f4da8..7c25a0a 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -844,12 +844,16 @@
ParseAST(PP, MainFileID, NullConsumer, Stats);
break;
}
- case ParseASTPrint:
- PrintASTs(PP, MainFileID, Stats);
+ case ParseASTPrint: {
+ std::auto_ptr<ASTConsumer> C(CreateASTPrinter());
+ ParseAST(PP, MainFileID, *C.get(), Stats);
break;
- case ParseASTDump:
- DumpASTs(PP, MainFileID, Stats);
+ }
+ case ParseASTDump: {
+ std::auto_ptr<ASTConsumer> C(CreateASTDumper());
+ ParseAST(PP, MainFileID, *C.get(), Stats);
break;
+ }
case ParseCFGDump:
DumpCFGs(PP, MainFileID, Stats);
break;