diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-06-16 16:59:23 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-06-16 16:59:23 +0000 |
commit | 7c995e8facb8c2b620ad46b141c24758f573d68a (patch) | |
tree | f43d145b1c63ddb9c8b52cb379d303ac315ba3fc /clang/examples/PrintFunctionNames | |
parent | 26036fd72229196ec852c60e85f86bfccebe9390 (diff) | |
download | bcm5719-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.cpp | 15 |
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"; + } + }; } |