diff options
author | Dominik Adamski <dominik.adamski@amd.com> | 2023-05-22 06:11:53 -0500 |
---|---|---|
committer | Dominik Adamski <dominik.adamski@amd.com> | 2023-06-05 05:00:15 -0500 |
commit | 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a (patch) | |
tree | 1115f5e6fcb6051e5df669638be34879ef12d9c1 /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | 53cc33b00b5bf5cec5de214c1566289c927a83ca (diff) | |
download | llvm-4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a.zip llvm-4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a.tar.gz llvm-4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a.tar.bz2 |
[OpenMP][bbc][flang] Add _OPENMP macro definition
OpenMP standard (section 3.3 for OpenMP 5.2) requires that _OPENMP macro
contains release date of given OpenMP standard version.
Differential Revision: https://reviews.llvm.org/D151083
Reviewed By: kiranchandramohan
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | flang/lib/Frontend/CompilerInvocation.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp index 0297317..55fe989 100644 --- a/flang/lib/Frontend/CompilerInvocation.cpp +++ b/flang/lib/Frontend/CompilerInvocation.cpp @@ -12,6 +12,7 @@ #include "flang/Frontend/CompilerInvocation.h" #include "flang/Common/Fortran-features.h" +#include "flang/Common/OpenMP-features.h" #include "flang/Common/Version.h" #include "flang/Frontend/CodeGenOptions.h" #include "flang/Frontend/PreprocessorOptions.h" @@ -1005,7 +1006,6 @@ void CompilerInvocation::setDefaultFortranOpts() { void CompilerInvocation::setDefaultPredefinitions() { auto &fortranOptions = getFortranOpts(); const auto &frontendOptions = getFrontendOpts(); - // Populate the macro list with version numbers and other predefinitions. fortranOptions.predefinitions.emplace_back("__flang__", "1"); fortranOptions.predefinitions.emplace_back("__flang_major__", @@ -1022,7 +1022,8 @@ void CompilerInvocation::setDefaultPredefinitions() { } if (frontendOptions.features.IsEnabled( Fortran::common::LanguageFeature::OpenMP)) { - fortranOptions.predefinitions.emplace_back("_OPENMP", "201511"); + Fortran::common::setOpenMPMacro(getLangOpts().OpenMPVersion, + fortranOptions.predefinitions); } llvm::Triple targetTriple{llvm::Triple(this->targetOpts.triple)}; if (targetTriple.getArch() == llvm::Triple::ArchType::x86_64) { |