Author: Juan Manuel Martinez Caamaño Date: 2025-06-19T09:11:36+02:00 New Revision: 366be49837a1fa669d836cc167b1b6dbf2725110
URL: https://github.com/llvm/llvm-project/commit/366be49837a1fa669d836cc167b1b6dbf2725110 DIFF: https://github.com/llvm/llvm-project/commit/366be49837a1fa669d836cc167b1b6dbf2725110.diff LOG: Revert "[CUDA][HIP] Add a __device__ version of std::__glibcxx_assert_fail() …" This reverts commit cb011d3199e1160ad2706cb5b1d43692fa4784d8. Added: Modified: clang/lib/Headers/CMakeLists.txt Removed: clang/lib/Headers/cuda_wrappers/bits/c++config.h ################################################################################ diff --git a/clang/lib/Headers/CMakeLists.txt b/clang/lib/Headers/CMakeLists.txt index c96d209c1fc0c..c1c9d2e8c7b79 100644 --- a/clang/lib/Headers/CMakeLists.txt +++ b/clang/lib/Headers/CMakeLists.txt @@ -341,7 +341,6 @@ set(cuda_wrapper_files ) set(cuda_wrapper_bits_files - cuda_wrappers/bits/c++config.h cuda_wrappers/bits/shared_ptr_base.h cuda_wrappers/bits/basic_string.h cuda_wrappers/bits/basic_string.tcc diff --git a/clang/lib/Headers/cuda_wrappers/bits/c++config.h b/clang/lib/Headers/cuda_wrappers/bits/c++config.h deleted file mode 100644 index eafa13a9cc640..0000000000000 --- a/clang/lib/Headers/cuda_wrappers/bits/c++config.h +++ /dev/null @@ -1,51 +0,0 @@ -// libstdc++ uses the non-constexpr function std::__glibcxx_assert_fail() -// to trigger compilation errors when the __glibcxx_assert(cond) macro -// is used in a constexpr context. -// Compilation fails when using code from the libstdc++ (such as std::array) on -// device code, since these assertions invoke a non-constexpr host function from -// device code. -// -// To work around this issue, we declare our own device version of the function - -#ifndef __CLANG_CUDA_WRAPPERS_BITS_CPP_CONFIG -#define __CLANG_CUDA_WRAPPERS_BITS_CPP_CONFIG - -#include_next <bits/c++config.h> - -#ifdef _LIBCPP_BEGIN_NAMESPACE_STD -_LIBCPP_BEGIN_NAMESPACE_STD -#else -namespace std { -#ifdef _GLIBCXX_BEGIN_NAMESPACE_VERSION -_GLIBCXX_BEGIN_NAMESPACE_VERSION -#endif - -#ifdef _GLIBCXX_VERBOSE_ASSERT -__attribute__((device, noreturn)) inline void -__glibcxx_assert_fail(const char *file, int line, const char *function, - const char *condition) noexcept { - if (file && function && condition) - __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", file, line, - function, condition); - else if (function) - __builtin_printf("%s: Undefined behavior detected.\n", function); - __builtin_abort(); -} -#endif - -#endif -__attribute__((device, noreturn, __always_inline__, - __visibility__("default"))) inline void -__glibcxx_assert_fail(...) noexcept { - __builtin_abort(); -} -#ifdef _LIBCPP_END_NAMESPACE_STD -_LIBCPP_END_NAMESPACE_STD -#else -#ifdef _GLIBCXX_BEGIN_NAMESPACE_VERSION -_GLIBCXX_END_NAMESPACE_VERSION -#endif -} // namespace std -#endif - -#endif _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits