aboutsummaryrefslogtreecommitdiff
path: root/examples/PrintFunctionNames/PrintFunctionNames.cpp
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
commit3177aae51a21f61ab483c52f97124bdb707da7f1 (patch)
treec0dcd4ec9cd85fe30d7f3f2a55386f8aa0a4686d /examples/PrintFunctionNames/PrintFunctionNames.cpp
parent7ccecb72cb8e0a77139526bd090cf8c68ba178cd (diff)
Frontend: Allow passing -cc1 level arguments to plugins. Patch by Troy Straszheim!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106113 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'examples/PrintFunctionNames/PrintFunctionNames.cpp')
-rw-r--r--examples/PrintFunctionNames/PrintFunctionNames.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/examples/PrintFunctionNames/PrintFunctionNames.cpp b/examples/PrintFunctionNames/PrintFunctionNames.cpp
index 5b7b66a4f7..397cf843fa 100644
--- a/examples/PrintFunctionNames/PrintFunctionNames.cpp
+++ b/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";
+ }
+
};
}