jdenny added inline comments.

================
Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594
+       !Context.getTargetInfo().hasFloat128Type() &&
+       Context.getTargetInfo().getLongDoubleWidth() != 128) ||
       (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&
----------------
ABataev wrote:
> Hmm, this look strange, at least. Seems to me, in this case the size of the 
> long double is 128 bit (copied from the host), but device reports that it 
> does not support 128 bit double. Seems to me, it is a problem with the device 
> configuration. Why does the host translate long double to 128 bit fp, while 
> the device translates it to 64 bit FP?
Sorry, I think I've misunderstood what's happening here, and my fix is probably 
wrong.

For x86_64, the example from my patch summary fails as described there.  Does 
that work for you?

For powerpc64le, the reproducer I added to the test suite fails without this 
patch.  Shouldn't it succeed?


================
Comment at: clang/test/OpenMP/nvptx_unsupported_type_messages.cpp:9
+// RUN: %clang_cc1 -verify=quiet -fopenmp -x c++ -triple x86_64-unknown-linux 
-fopenmp-targets=x86_64-unknown-linux -emit-llvm-bc %s -o %t-host.bc
+// RUN: %clang_cc1 -verify=quiet -fopenmp -x c++ -triple 
powerpc64le-unknown-linux-gnu -aux-triple x86_64-unknown-linux 
-fopenmp-targets=x86_64-unknown-linux %s -fopenmp-is-device 
-fopenmp-host-ir-file-path %t-host.bc -fsyntax-only
+// RUN: %clang_cc1 -verify=quiet -fopenmp -x c++ -triple 
powerpc64le-unknown-linux-gnu -fopenmp-targets=powerpc64le-unknown-linux-gnu 
-emit-llvm-bc %s -o %t-host.bc
----------------
Sorry, this line was supposed to be x86_64 only, and then it no longer acts as 
a reproducer for me.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64289/new/

https://reviews.llvm.org/D64289



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to