summaryrefslogtreecommitdiffstats
path: root/clang/examples/PrintFunctionNames
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-06-16 16:59:23 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-06-16 16:59:23 +0000
commit7c995e8facb8c2b620ad46b141c24758f573d68a (patch)
treef43d145b1c63ddb9c8b52cb379d303ac315ba3fc /clang/examples/PrintFunctionNames
parent26036fd72229196ec852c60e85f86bfccebe9390 (diff)
downloadbcm5719-llvm-7c995e8facb8c2b620ad46b141c24758f573d68a.tar.gz
bcm5719-llvm-7c995e8facb8c2b620ad46b141c24758f573d68a.zip
Frontend: Allow passing -cc1 level arguments to plugins. Patch by Troy Straszheim!
llvm-svn: 106113
Diffstat (limited to 'clang/examples/PrintFunctionNames')
-rw-r--r--clang/examples/PrintFunctionNames/PrintFunctionNames.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/clang/examples/PrintFunctionNames/PrintFunctionNames.cpp b/clang/examples/PrintFunctionNames/PrintFunctionNames.cpp
index 5b7b66a4f7f..397cf843fa7 100644
--- a/clang/examples/PrintFunctionNames/PrintFunctionNames.cpp
+++ b/clang/examples/PrintFunctionNames/PrintFunctionNames.cpp
@@ -31,11 +31,24 @@ public:
}
};
-class PrintFunctionNamesAction : public ASTFrontendAction {
+class PrintFunctionNamesAction : public PluginASTAction {
protected:
ASTConsumer *CreateASTConsumer(CompilerInstance &CI, llvm::StringRef) {
return new PrintFunctionsConsumer();
}
+
+ bool ParseArgs(const std::vector<std::string>& args) {
+ for (unsigned i=0; i<args.size(); ++i)
+ llvm::errs() << "PrintFunctionNames arg = " << args[i] << "\n";
+ if (args.size() && args[0] == "help")
+ PrintHelp(llvm::errs());
+
+ return true;
+ }
+ void PrintHelp(llvm::raw_ostream& ros) {
+ ros << "Help for PrintFunctionNames plugin goes here\n";
+ }
+
};
}
OpenPOWER on IntegriCloud