diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2018-07-26 15:17:38 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2018-07-26 15:17:38 +0000 |
commit | 77403dee052d729e06c4d84b7668dec0a9c3c27d (patch) | |
tree | 0639c9796e7e6b878c5b37c1256f4314699c4de0 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 7bfa5d65446e7dda1a8e54c806f5d7687766bb2d (diff) | |
download | bcm5719-llvm-77403dee052d729e06c4d84b7668dec0a9c3c27d.tar.gz bcm5719-llvm-77403dee052d729e06c4d84b7668dec0a9c3c27d.zip |
[OPENMP] Force OpenMP 4.5 when compiling for offloading.
If the user requested compilation for OpenMP with the offloading
support, force the version of the OpenMP standard to 4.5 by default.
llvm-svn: 338032
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 5878cce772b..78e6babd025 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -2594,13 +2594,15 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK, Opts.OpenMP && !Args.hasArg(options::OPT_fnoopenmp_use_tls); Opts.OpenMPIsDevice = Opts.OpenMP && Args.hasArg(options::OPT_fopenmp_is_device); + bool IsTargetSpecified = + Opts.OpenMPIsDevice || Args.hasArg(options::OPT_fopenmp_targets_EQ); if (Opts.OpenMP || Opts.OpenMPSimd) { - if (int Version = - getLastArgIntValue(Args, OPT_fopenmp_version_EQ, - IsSimdSpecified ? 45 : Opts.OpenMP, Diags)) + if (int Version = getLastArgIntValue( + Args, OPT_fopenmp_version_EQ, + (IsSimdSpecified || IsTargetSpecified) ? 45 : Opts.OpenMP, Diags)) Opts.OpenMP = Version; - else if (IsSimdSpecified) + else if (IsSimdSpecified || IsTargetSpecified) Opts.OpenMP = 45; // Provide diagnostic when a given target is not expected to be an OpenMP // device or host. |