diff options
author | Stuart Ellis <stuart.ellis@arm.com> | 2021-06-23 18:05:29 +0100 |
---|---|---|
committer | Andrzej Warzynski <andrzej.warzynski@arm.com> | 2021-07-01 08:10:40 +0000 |
commit | 788a5d4afe6407e647454a9832a7b4a27fba06bf (patch) | |
tree | a61e31c4fb41302e36c3478a13f91163aaf7c773 /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | 226f925c3f3461cbd3e76f383069b01b5f7db2f3 (diff) | |
download | llvm-788a5d4afe6407e647454a9832a7b4a27fba06bf.zip llvm-788a5d4afe6407e647454a9832a7b4a27fba06bf.tar.gz llvm-788a5d4afe6407e647454a9832a7b4a27fba06bf.tar.bz2 |
PoC for Flang Driver Plugins
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | flang/lib/Frontend/CompilerInvocation.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp index 6a2bf19..20d3d2d 100644 --- a/flang/lib/Frontend/CompilerInvocation.cpp +++ b/flang/lib/Frontend/CompilerInvocation.cpp @@ -199,6 +199,23 @@ static bool ParseFrontendArgs(FrontendOptions &opts, llvm::opt::ArgList &args, } } + printf("--------- (ParseFrontendArgs) ----------\n"); + + if (llvm::opt::Arg *a = args.getLastArg(clang::driver::options::OPT_load)) { + llvm::outs() << " " << a->getOption().getName() << " >>> " << a->getValue() << "\n"; + //opts.plugins = a->getValue(); + opts.plugins.push_back(a->getValue()); + } + + if (const llvm::opt::Arg *a = args.getLastArg(clang::driver::options::OPT_plugin)) { + llvm::outs() << " " << a->getOption().getName() << " >>> " << a->getValue() << "\n"; + //opts.plugins.emplace_back(a->getValue()); + opts.programAction_ = PluginAction; + opts.ActionName = a->getValue(); + } + + printf("-------- (\\ParseFrontendArgs) ----------\n"); + opts.outputFile_ = args.getLastArgValue(clang::driver::options::OPT_o); opts.showHelp_ = args.hasArg(clang::driver::options::OPT_help); opts.showVersion_ = args.hasArg(clang::driver::options::OPT_version); |