jdoerfert added a comment.

In D94745#2539405 <https://reviews.llvm.org/D94745#2539405>, @protze.joachim 
wrote:

> For me this patch breaks building llvm. Before this patch, I successfully 
> built llvm using a llvm/10 installation on the system. What is probably 
> special with our llvm installation is that we by default use libc++ rather 
> than libstdc++.
>
>   FAILED: 
> projects/openmp/libomptarget/deviceRTLs/nvptx/loop.cu-cuda_110-sm_60.bc 
>   cd BUILD/projects/openmp/libomptarget/deviceRTLs/nvptx && 
> /home/pj416018/sw/UTIL/ccache/bin/clang -S -x c++ -target nvptx64 -Xclang 
> -emit-llvm-bc -Xclang -aux-triple -Xclang x86_64-unknown-linux-gnu -fopenmp 
> -fopenmp-cuda-mode -Xclang -fopenmp-is-device -D__CUDACC__ 
> -I${llvm-SOURCE}/openmp/libomptarget/deviceRTLs 
> -I${llvm-SOURCE}/openmp/libomptarget/deviceRTLs/nvptx/src 
> -DOMPTARGET_NVPTX_DEBUG=0 -Xclang -target-cpu -Xclang sm_60 
> -D__CUDA_ARCH__=600 -Xclang -target-feature -Xclang +ptx70 
> -DCUDA_VERSION=11000 
> ${llvm-SOURCE}/openmp/libomptarget/deviceRTLs/common/src/loop.cu -o 
> loop.cu-cuda_110-sm_60.bc
>   In file included from 
> ${llvm-SOURCE}/openmp/libomptarget/deviceRTLs/common/src/loop.cu:16:
>   In file included from 
> ${llvm-SOURCE}/openmp/libomptarget/deviceRTLs/common/omptarget.h:18:
>   In file included from 
> ${llvm-SOURCE}/openmp/libomptarget/deviceRTLs/common/debug.h:31:
>   In file included from 
> ${llvm-SOURCE}/openmp/libomptarget/deviceRTLs/common/device_environment.h:16:
>   In file included from 
> ${llvm-SOURCE}/openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h:18:
>   In file included from 
> ${llvm-INSTALL}/10.0.0/bin/../include/c++/v1/stdlib.h:100:
>   In file included from 
> ${llvm-INSTALL}/10.0.0/bin/../include/c++/v1/math.h:312:
>   ${llvm-INSTALL}/10.0.0/bin/../include/c++/v1/limits:406:89: error: host 
> requires 128 bit size 'std::__1::__libcpp_numeric_limits<long double, 
> true>::type' (aka 'long double') type support, but device 'nvptx64' does not 
> support it
>       _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type lowest() 
> _NOEXCEPT {return -max();}
>                                                                               
>             ^~~~~
>
> My cmake call looks like:
>
>   cmake -GNinja -DCMAKE_BUILD_TYPE=Release \
>     -DCMAKE_INSTALL_PREFIX=$INSTALLDIR \
>     -DLLVM_ENABLE_LIBCXX=ON \
>     -DCLANG_DEFAULT_CXX_STDLIB=libc++ \
>     -DCLANG_OPENMP_NVPTX_DEFAULT_ARCH=sm_70 \
>     -DLIBOMPTARGET_ENABLE_DEBUG=on \
>     -DLIBOMPTARGET_NVPTX_ENABLE_BCLIB=true \
>     -DLIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES=35,60,70 \
>     
> -DLLVM_ENABLE_PROJECTS="clang;compiler-rt;libcxxabi;libcxx;libunwind;openmp" \
>     -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
>     $LLVM_SOURCE
>
> I also tried to build using my newest installed llvm build 
> (7dd198852b4db52ae22242dfeda4eccda83aa8b2 
> <https://reviews.llvm.org/rG7dd198852b4db52ae22242dfeda4eccda83aa8b2>):
>
>   In file included from 
> ${llvm-SOURCE}/openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.cu:14:
>   In file included from 
> ${llvm-SOURCE}/openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h:18:
>   ${llvm-INSTALL}/bin/../include/c++/v1/stdlib.h:128:10: error: 
> '__builtin_fabsl' requires 128 bit size 'long double' type support, but 
> device 'nvptx64' does not support it
>     return __builtin_fabsl(__lcpp_x);
>            ^

This is tracked in PR48933, could you give D95928 
<https://reviews.llvm.org/D95928> and it's two dependences a try?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D94745

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

Reply via email to