diff options
Diffstat (limited to 'flang/lib/Frontend')
-rw-r--r-- | flang/lib/Frontend/CompilerInvocation.cpp | 8 | ||||
-rw-r--r-- | flang/lib/Frontend/FrontendActions.cpp | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp index 84478f2..1264907 100644 --- a/flang/lib/Frontend/CompilerInvocation.cpp +++ b/flang/lib/Frontend/CompilerInvocation.cpp @@ -720,9 +720,15 @@ static bool parseDialectArgs(CompilerInvocation &res, llvm::opt::ArgList &args, Fortran::common::LanguageFeature::OpenACC); } if (args.hasArg(clang::driver::options::OPT_fopenmp)) { + // By default OpenMP is set to 1.1 version + res.getLangOpts().OpenMPVersion = 11; res.getFrontendOpts().features.Enable( Fortran::common::LanguageFeature::OpenMP); - + if (int Version = getLastArgIntValue( + args, clang::driver::options::OPT_fopenmp_version_EQ, + res.getLangOpts().OpenMPVersion, diags)) { + res.getLangOpts().OpenMPVersion = Version; + } if (args.hasArg(clang::driver::options::OPT_fopenmp_is_device)) { res.getLangOpts().OpenMPIsDevice = 1; diff --git a/flang/lib/Frontend/FrontendActions.cpp b/flang/lib/Frontend/FrontendActions.cpp index f3e643e..efe6c25b 100644 --- a/flang/lib/Frontend/FrontendActions.cpp +++ b/flang/lib/Frontend/FrontendActions.cpp @@ -285,6 +285,8 @@ bool CodeGenAction::beginSourceFileAction() { ci.getInvocation().getLangOpts()); setOffloadModuleInterfaceTargetAttribute(*mlirModule, tm->getTargetCPU(), tm->getTargetFeatureString()); + setOpenMPVersionAttribute(*mlirModule, + ci.getInvocation().getLangOpts().OpenMPVersion); } const llvm::DataLayout &dl = tm->createDataLayout(); |