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