<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hi Jonas, it requires the discussion. Somebody may rely on the
      fact that clang by default supports 3.1. I agree that we need to
      set the default version to 4.5.<br>
    </p>
    <pre class="moz-signature" cols="72">-------------
Best regards,
Alexey Bataev</pre>
    <div class="moz-cite-prefix">26.07.2018 12:39, Jonas Hahnfeld via
      cfe-commits пишет:<br>
    </div>
    <blockquote type="cite"
      cite="mid:%3C92a8e92e8becf4d18aecc0cfc68478c9@hahnjo.de%3E">Hi
      Alexey,
      <br>
      <br>
      maybe we can now raise the version generally? Is that something
      that we want to do before branching for 7.0?
      <br>
      According to <a class="moz-txt-link-freetext" href="http://clang.llvm.org/docs/OpenMPSupport.html">http://clang.llvm.org/docs/OpenMPSupport.html</a>, all
      directives of OpenMP 4.5 are supported (even if Clang may not
      generate optimal code).
      <br>
      <br>
      Cheers,
      <br>
      Jonas
      <br>
      <br>
      On 2018-07-26 17:17, Alexey Bataev via cfe-commits wrote:
      <br>
      <blockquote type="cite">Author: abataev
        <br>
        Date: Thu Jul 26 08:17:38 2018
        <br>
        New Revision: 338032
        <br>
        <br>
        URL: <a class="moz-txt-link-freetext" href="http://llvm.org/viewvc/llvm-project?rev=338032&view=rev">http://llvm.org/viewvc/llvm-project?rev=338032&view=rev</a>
        <br>
        Log:
        <br>
        [OPENMP] Force OpenMP 4.5 when compiling for offloading.
        <br>
        <br>
        If the user requested compilation for OpenMP with the offloading
        <br>
        support, force the version of the OpenMP standard to 4.5 by
        default.
        <br>
        <br>
        Modified:
        <br>
            cfe/trunk/lib/Driver/ToolChains/Clang.cpp
        <br>
            cfe/trunk/lib/Frontend/CompilerInvocation.cpp
        <br>
            cfe/trunk/test/OpenMP/driver.c
        <br>
        <br>
        Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp
        <br>
        URL:
        <br>
<a class="moz-txt-link-freetext" href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=338032&r1=338031&r2=338032&view=diff">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=338032&r1=338031&r2=338032&view=diff</a>
        <br>
==============================================================================
        <br>
        --- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original)
        <br>
        +++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Thu Jul 26
        08:17:38 2018
        <br>
        @@ -4698,7 +4698,7 @@ void Clang::ConstructJob(Compilation
        &C,
        <br>
        <br>
           // For all the host OpenMP offloading compile jobs we need to
        pass
        <br>
        the targets
        <br>
           // information using -fopenmp-targets= option.
        <br>
        -  if (isa<CompileJobAction>(JA) &&
        JA.isHostOffloading(Action::OFK_OpenMP)) {
        <br>
        +  if (JA.isHostOffloading(Action::OFK_OpenMP)) {
        <br>
             SmallString<128> TargetInfo("-fopenmp-targets=");
        <br>
        <br>
             Arg *Tgts =
        Args.getLastArg(options::OPT_fopenmp_targets_EQ);
        <br>
        <br>
        Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp
        <br>
        URL:
        <br>
<a class="moz-txt-link-freetext" href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=338032&r1=338031&r2=338032&view=diff">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=338032&r1=338031&r2=338032&view=diff</a>
        <br>
==============================================================================
        <br>
        --- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original)
        <br>
        +++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Thu Jul 26
        08:17:38 2018
        <br>
        @@ -2594,13 +2594,15 @@ static void ParseLangArgs(LangOptions
        &O
        <br>
               Opts.OpenMP &&
        !Args.hasArg(options::OPT_fnoopenmp_use_tls);
        <br>
           Opts.OpenMPIsDevice =
        <br>
               Opts.OpenMP &&
        Args.hasArg(options::OPT_fopenmp_is_device);
        <br>
        +  bool IsTargetSpecified =
        <br>
        +      Opts.OpenMPIsDevice ||
        Args.hasArg(options::OPT_fopenmp_targets_EQ);
        <br>
        <br>
           if (Opts.OpenMP || Opts.OpenMPSimd) {
        <br>
        -    if (int Version =
        <br>
        -            getLastArgIntValue(Args, OPT_fopenmp_version_EQ,
        <br>
        -                               IsSimdSpecified ? 45 :
        Opts.OpenMP, Diags))
        <br>
        +    if (int Version = getLastArgIntValue(
        <br>
        +            Args, OPT_fopenmp_version_EQ,
        <br>
        +            (IsSimdSpecified || IsTargetSpecified) ? 45 :
        Opts.OpenMP, Diags))
        <br>
               Opts.OpenMP = Version;
        <br>
        -    else if (IsSimdSpecified)
        <br>
        +    else if (IsSimdSpecified || IsTargetSpecified)
        <br>
               Opts.OpenMP = 45;
        <br>
             // Provide diagnostic when a given target is not expected
        to be an OpenMP
        <br>
             // device or host.
        <br>
        <br>
        Modified: cfe/trunk/test/OpenMP/driver.c
        <br>
        URL:
        <br>
<a class="moz-txt-link-freetext" href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/driver.c?rev=338032&r1=338031&r2=338032&view=diff">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/driver.c?rev=338032&r1=338031&r2=338032&view=diff</a>
        <br>
==============================================================================
        <br>
        --- cfe/trunk/test/OpenMP/driver.c (original)
        <br>
        +++ cfe/trunk/test/OpenMP/driver.c Thu Jul 26 08:17:38 2018
        <br>
        @@ -1,3 +1,4 @@
        <br>
        +// REQUIRES: x86-registered-target
        <br>
         // Test that by default -fnoopenmp-use-tls is passed to
        frontend.
        <br>
         //
        <br>
         // RUN: %clang %s -### -o %t.o 2>&1 -fopenmp=libomp |
        FileCheck
        <br>
        --check-prefix=CHECK-DEFAULT %s
        <br>
        @@ -23,7 +24,9 @@
        <br>
        <br>
         // RUN: %clang %s -c -E -dM -fopenmp=libomp -fopenmp-version=45
        |
        <br>
        FileCheck --check-prefix=CHECK-45-VERSION %s
        <br>
         // RUN: %clang %s -c -E -dM -fopenmp=libomp -fopenmp-simd |
        FileCheck
        <br>
        --check-prefix=CHECK-45-VERSION %s
        <br>
        +// RUN: %clang %s -c -E -dM -fopenmp=libomp
        <br>
        -fopenmp-targets=x86_64-unknown-unknown -o - | FileCheck
        <br>
        --check-prefix=CHECK-45-VERSION --check-prefix=CHECK-45-VERSION2
        %s
        <br>
         // CHECK-45-VERSION: #define _OPENMP 201511
        <br>
        +// CHECK-45-VERSION2: #define _OPENMP 201511
        <br>
        <br>
         // RUN: %clang %s -c -E -dM -fopenmp-version=1 | FileCheck
        <br>
        --check-prefix=CHECK-VERSION %s
        <br>
         // RUN: %clang %s -c -E -dM -fopenmp-version=31 | FileCheck
        <br>
        --check-prefix=CHECK-VERSION %s
        <br>
        <br>
        <br>
        _______________________________________________
        <br>
        cfe-commits mailing list
        <br>
        <a class="moz-txt-link-abbreviated" href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>
        <br>
        <a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>