aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorStuart Ellis <stuart.ellis@arm.com>2021-06-23 18:05:29 +0100
committerAndrzej Warzynski <andrzej.warzynski@arm.com>2021-07-01 08:10:40 +0000
commit788a5d4afe6407e647454a9832a7b4a27fba06bf (patch)
treea61e31c4fb41302e36c3478a13f91163aaf7c773 /flang/lib/Frontend/CompilerInvocation.cpp
parent226f925c3f3461cbd3e76f383069b01b5f7db2f3 (diff)
downloadllvm-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.cpp17
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);