Author: Juan Manuel Martinez CaamaƱo Date: 2025-06-19T10:06:50+02:00 New Revision: 52ff58c3300338876ae63126ce0d33331000f1ba
URL: https://github.com/llvm/llvm-project/commit/52ff58c3300338876ae63126ce0d33331000f1ba DIFF: https://github.com/llvm/llvm-project/commit/52ff58c3300338876ae63126ce0d33331000f1ba.diff LOG: Revert "[CUDA][HIP] Add a __device__ version of std::__glibcxx_assert_fail()" (#144850) Reverts llvm/llvm-project#136133 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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits