Skip to content

Commit

Permalink
Drop ICC from code
Browse files Browse the repository at this point in the history
  • Loading branch information
bernhardmgruber committed Jan 8, 2025
1 parent 390081e commit 7a4a5ed
Show file tree
Hide file tree
Showing 115 changed files with 93 additions and 532 deletions.
1 change: 0 additions & 1 deletion CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
"CCCL_ENABLE_TESTING": false,
"CCCL_ENABLE_EXAMPLES": false,
"CCCL_ENABLE_C": false,
"CCCL_SUPPRESS_ICC_DEPRECATION_WARNING": true,
"CCCL_SUPPRESS_MSVC2017_DEPRECATION_WARNING": true,
"libcudacxx_ENABLE_INSTALL_RULES": true,
"CUB_ENABLE_INSTALL_RULES": true,
Expand Down
15 changes: 0 additions & 15 deletions cmake/CCCLBuildCompilerTargets.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT Embedded)
option(CCCL_ENABLE_EXCEPTIONS "Enable exceptions within CCCL libraries." ON)
option(CCCL_ENABLE_RTTI "Enable RTTI within CCCL libraries." ON)
option(CCCL_ENABLE_WERROR "Treat warnings as errors for CCCL targets." ON)
option(CCCL_SUPPRESS_ICC_DEPRECATION_WARNING "Suppress Intel Compiler deprecation warnings" OFF)
option(CCCL_SUPPRESS_MSVC2017_DEPRECATION_WARNING "Suppress Visual Studio 2017 deprecation warnings" OFF)

function(cccl_build_compiler_interface interface_target cuda_compile_options cxx_compile_options compile_defs)
Expand Down Expand Up @@ -69,10 +68,6 @@ function(cccl_build_compiler_targets)
list(APPEND cxx_compile_definitions "CCCL_DISABLE_RTTI")
endif()

if (CCCL_SUPPRESS_ICC_DEPRECATION_WARNING)
list(APPEND cxx_compile_definitions "CCCL_SUPPRESS_ICC_DEPRECATION_WARNING")
endif()

if (CCCL_SUPPRESS_MSVC2017_DEPRECATION_WARNING)
list(APPEND cxx_compile_definitions "CCCL_SUPPRESS_MSVC2017_DEPRECATION_WARNING")
endif()
Expand Down Expand Up @@ -160,16 +155,6 @@ function(cccl_build_compiler_targets)
endif()
endif()

if ("Intel" STREQUAL "${CMAKE_CXX_COMPILER_ID}")
# Do not flush denormal floats to zero
append_option_if_available("-no-ftz" cxx_compile_options)
# Disable warning that inlining is inhibited by compiler thresholds.
append_option_if_available("-diag-disable=11074" cxx_compile_options)
append_option_if_available("-diag-disable=11076" cxx_compile_options)
# Disable warning about deprecated classic compiler
append_option_if_available("-diag-disable=10441" cxx_compile_options)
endif()

cccl_build_compiler_interface(cccl.compiler_interface
"${cuda_compile_options}"
"${cxx_compile_options}"
Expand Down
3 changes: 0 additions & 3 deletions cub/cub/detail/fast_modulo_division.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,6 @@ multiply_extract_higher_bits(T value, R multiplier)
{
static_assert(supported_integral<T>::value, "unsupported type");
static_assert(supported_integral<R>::value, "unsupported type");
_CCCL_DIAG_PUSH
_CCCL_DIAG_SUPPRESS_ICC(186) // pointless comparison of unsigned integer with zero
_CCCL_IF_CONSTEXPR (_CCCL_TRAIT(::cuda::std::is_signed, T))
{
_CCCL_ASSERT(value >= 0, "value must be non-negative");
Expand All @@ -119,7 +117,6 @@ multiply_extract_higher_bits(T value, R multiplier)
{
_CCCL_ASSERT(multiplier >= 0, "multiplier must be non-negative");
}
_CCCL_DIAG_POP
static constexpr int NumBits = sizeof(DivisorType) * CHAR_BIT;
using unsigned_t = unsigned_implicit_prom_t<DivisorType>;
using larger_t = larger_unsigned_type_t<DivisorType>;
Expand Down
6 changes: 0 additions & 6 deletions cub/cub/util_macro.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -112,12 +112,6 @@ _CCCL_DIAG_SUPPRESS_CLANG("-Wattributes")
# if !_CCCL_CUDA_COMPILER(NVHPC)
_CCCL_DIAG_SUPPRESS_NVHPC(attribute_requires_external_linkage)
# endif // !_CCCL_CUDA_COMPILER(NVHPC)
# if _CCCL_COMPILER(ICC)
# pragma nv_diag_suppress 1407 // the "__visibility__" attribute can only appear on functions and
// variables with external linkage'
# pragma warning(disable : 1890) // the "__visibility__" attribute can only appear on functions and
// variables with external linkage'
# endif // _CCCL_COMPILER(ICC)
#endif // !CUB_DISABLE_KERNEL_VISIBILITY_WARNING_SUPPRESSION

#ifndef CUB_DEFINE_KERNEL_GETTER
Expand Down
4 changes: 2 additions & 2 deletions cub/cub/util_type.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,9 @@ CUB_NAMESPACE_BEGIN
# endif // !defined(__CUDACC_RTC_INT128__)
# else // !defined(__CUDACC_RTC__)
# if _CCCL_CUDACC_AT_LEAST(11, 5)
# if _CCCL_COMPILER(GCC) || _CCCL_COMPILER(CLANG) || _CCCL_COMPILER(ICC) || _CCCL_COMPILER(NVHPC)
# if _CCCL_COMPILER(GCC) || _CCCL_COMPILER(CLANG) || _CCCL_COMPILER(NVHPC)
# define CUB_IS_INT128_ENABLED 1
# endif // GCC || CLANG || ICC || NVHPC
# endif // GCC || CLANG || NVHPC
# endif // _CCCL_CUDACC_AT_LEAST(11, 5)
# endif // !defined(__CUDACC_RTC__)
#endif // !defined(CUB_IS_INT128_ENABLED)
Expand Down
4 changes: 2 additions & 2 deletions cub/test/catch2_test_device_for_each_in_extents.cu
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ static auto fill_linear_impl(c2h::host_vector<T>& vector, const ExtentType&, siz
_CCCL_TRAILING_REQUIRES(void)((Rank == ExtentType::rank()))
{
vector[pos++] = {indices...};
return void(); // Intel and nvc++ require a return statement
return void(); // nvc++ requires a return statement
}

template <int Rank = 0, typename T, typename ExtentType, typename... IndicesType>
Expand All @@ -67,7 +67,7 @@ static auto fill_linear_impl(c2h::host_vector<T>& vector, const ExtentType& ext,
{
fill_linear_impl<Rank + 1>(vector, ext, pos, indices..., i);
}
return void(); // Intel and nvc++ require a return statement
return void(); // nvc++ requires a return statement
}

template <typename T, typename IndexType, size_t... Extents>
Expand Down
12 changes: 3 additions & 9 deletions cudax/include/cuda/experimental/__detail/config.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,9 @@
// two attributes:
// - `_CUDAX_API` declares the function host/device and hides the symbol from the ABI
// - `_CUDAX_TRIVIAL_API` does the same while also forcing inlining and hiding the function from debuggers
#if _CCCL_COMPILER(ICC) // ICC has issues with visibility attributes on symbols with internal linkage
# define _CUDAX_API _CCCL_HOST_DEVICE
# define _CUDAX_HOST_API _CCCL_HOST
# define _CUDAX_DEVICE_API _CCCL_DEVICE
#else // ^^^ _CCCL_COMPILER(ICC) ^^^ / vvv !_CCCL_COMPILER(ICC) vvv
# define _CUDAX_API _CCCL_HOST_DEVICE _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
# define _CUDAX_HOST_API _CCCL_HOST _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
# define _CUDAX_DEVICE_API _CCCL_DEVICE _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
#endif // !_CCCL_COMPILER(ICC)
#define _CUDAX_API _CCCL_HOST_DEVICE _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
#define _CUDAX_HOST_API _CCCL_HOST _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
#define _CUDAX_DEVICE_API _CCCL_DEVICE _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION

// _CUDAX_TRIVIAL_API force-inlines a function, marks its visibility as hidden, and causes debuggers to skip it.
// This is useful for trivial internal functions that do dispatching or other plumbing work. It is particularly
Expand Down
3 changes: 0 additions & 3 deletions docs/repo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,6 @@ doxygen_predefined = [
"_CCCL_DIAG_POP=",
"_CCCL_DIAG_SUPPRESS_CLANG(x)=",
"_CCCL_DIAG_SUPPRESS_GCC(x)=",
"_CCCL_DIAG_SUPPRESS_ICC(x)=",
"_CCCL_DIAG_SUPPRESS_MSVC(x)=",
"_CCCL_DIAG_SUPPRESS_NVHPC(x)=",
"_CCCL_DOXYGEN_INVOKED",
Expand Down Expand Up @@ -270,7 +269,6 @@ doxygen_predefined = [
"_CCCL_DIAG_POP=",
"_CCCL_DIAG_SUPPRESS_CLANG(x)=",
"_CCCL_DIAG_SUPPRESS_GCC(x)=",
"_CCCL_DIAG_SUPPRESS_ICC(x)=",
"_CCCL_DIAG_SUPPRESS_MSVC(x)=",
"_CCCL_DIAG_SUPPRESS_NVHPC(x)=",
"CUDASTF_HOST=",
Expand Down Expand Up @@ -435,7 +433,6 @@ doxygen_predefined = [
"_CCCL_DIAG_POP=",
"_CCCL_DIAG_SUPPRESS_CLANG(x)=",
"_CCCL_DIAG_SUPPRESS_GCC(x)=",
"_CCCL_DIAG_SUPPRESS_ICC(x)=",
"_CCCL_DIAG_SUPPRESS_MSVC(x)=",
"_CCCL_DIAG_SUPPRESS_NVHPC(x)=",
"_CCCL_REQUIRES(x)= ::cuda::std::enable_if_t<x, int> = 0>",
Expand Down
2 changes: 0 additions & 2 deletions libcudacxx/cmake/DetermineGCCCompatible.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,5 @@ if(NOT DEFINED LLVM_COMPILER_IS_GCC_COMPATIBLE)
set(LLVM_COMPILER_IS_GCC_COMPATIBLE OFF)
elseif( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" )
set(LLVM_COMPILER_IS_GCC_COMPATIBLE ON)
elseif( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel" )
set(LLVM_COMPILER_IS_GCC_COMPATIBLE ON)
endif()
endif()
12 changes: 3 additions & 9 deletions libcudacxx/include/cuda/std/__cccl/assert.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,15 +79,9 @@ _CCCL_HOST_DEVICE
__attribute__((__noreturn__));
}
# endif // NDEBUG
// ICC cannot deal with `__builtin_expect` in the constexpr evaluator, so just drop it
# if _CCCL_COMPILER(ICC)
# define _CCCL_ASSERT_IMPL_HOST(expression, message) \
static_cast<bool>(expression) ? (void) 0 : __assert_fail(message, __FILE__, __LINE__, __func__);
# else // ^^^ _CCCL_COMPILER(ICC) ^^^ / vvv !_CCCL_COMPILER(ICC) vvv
# define _CCCL_ASSERT_IMPL_HOST(expression, message) \
_CCCL_BUILTIN_EXPECT(static_cast<bool>(expression), 1) \
? (void) 0 : __assert_fail(message, __FILE__, __LINE__, __func__)
# endif // !_CCCL_COMPILER(ICC)
# define _CCCL_ASSERT_IMPL_HOST(expression, message) \
_CCCL_BUILTIN_EXPECT(static_cast<bool>(expression), 1) \
? (void) 0 : __assert_fail(message, __FILE__, __LINE__, __func__)
#endif // !MSVC STL

//! Use custom implementations with nvcc on device and the host ones with clang-cuda and nvhpc
Expand Down
8 changes: 2 additions & 6 deletions libcudacxx/include/cuda/std/__cccl/compiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,7 @@

// Determine the host compiler and its version
#if defined(__INTEL_COMPILER)
# define _CCCL_COMPILER_ICC 1
# ifndef CCCL_SUPPRESS_ICC_DEPRECATION_WARNING
# warning \
"Support for the Intel C++ Compiler Classic is deprecated and will eventually be removed. Define CCCL_SUPPRESS_ICC_DEPRECATION_WARNING to suppress this warning"
# endif // CCCL_SUPPRESS_ICC_DEPRECATION_WARNING
# error "The Intel C++ Compiler Classic (icc/icpc) is not supported by CCCL"
#elif defined(__NVCOMPILER)
# define _CCCL_COMPILER_NVHPC _CCCL_COMPILER_MAKE_VERSION(__NVCOMPILER_MAJOR__, __NVCOMPILER_MINOR__)
#elif defined(__clang__)
Expand All @@ -59,7 +55,7 @@
# if _CCCL_COMPILER_MSVC2017 && !defined(CCCL_SUPPRESS_MSVC2017_DEPRECATION_WARNING)
# pragma message( \
"Support for the Visual Studio 2017 (MSC_VER < 1920) is deprecated and will eventually be removed. Define CCCL_SUPPRESS_MSVC2017_DEPRECATION_WARNING to suppress this warning")
# endif // CCCL_SUPPRESS_ICC_DEPRECATION_WARNING
# endif
# define _CCCL_COMPILER_MSVC2019 \
(_CCCL_COMPILER_MSVC >= _CCCL_COMPILER_MAKE_VERSION(19, 20) \
&& _CCCL_COMPILER_MSVC < _CCCL_COMPILER_MAKE_VERSION(19, 30))
Expand Down
29 changes: 4 additions & 25 deletions libcudacxx/include/cuda/std/__cccl/diagnostic.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,47 +30,34 @@
# define _CCCL_DIAG_SUPPRESS_GCC(str)
# define _CCCL_DIAG_SUPPRESS_NVHPC(str)
# define _CCCL_DIAG_SUPPRESS_MSVC(str)
# define _CCCL_DIAG_SUPPRESS_ICC(str)
#elif _CCCL_COMPILER(GCC)
# define _CCCL_DIAG_PUSH _CCCL_PRAGMA(GCC diagnostic push)
# define _CCCL_DIAG_POP _CCCL_PRAGMA(GCC diagnostic pop)
# define _CCCL_DIAG_SUPPRESS_CLANG(str)
# define _CCCL_DIAG_SUPPRESS_GCC(str) _CCCL_PRAGMA(GCC diagnostic ignored str)
# define _CCCL_DIAG_SUPPRESS_NVHPC(str)
# define _CCCL_DIAG_SUPPRESS_MSVC(str)
# define _CCCL_DIAG_SUPPRESS_ICC(str)
#elif _CCCL_COMPILER(ICC)
# define _CCCL_DIAG_PUSH _CCCL_PRAGMA(GCC diagnostic push)
# define _CCCL_DIAG_POP _CCCL_PRAGMA(GCC diagnostic pop)
# define _CCCL_DIAG_SUPPRESS_CLANG(str)
# define _CCCL_DIAG_SUPPRESS_GCC(str) _CCCL_PRAGMA(GCC diagnostic ignored str)
# define _CCCL_DIAG_SUPPRESS_NVHPC(str)
# define _CCCL_DIAG_SUPPRESS_MSVC(str)
# define _CCCL_DIAG_SUPPRESS_ICC(str) _CCCL_PRAGMA(warning disable str)
#elif _CCCL_COMPILER(NVHPC)
# define _CCCL_DIAG_PUSH _CCCL_PRAGMA(diagnostic push)
# define _CCCL_DIAG_POP _CCCL_PRAGMA(diagnostic pop)
# define _CCCL_DIAG_SUPPRESS_CLANG(str)
# define _CCCL_DIAG_SUPPRESS_GCC(str)
# define _CCCL_DIAG_SUPPRESS_NVHPC(str) _CCCL_PRAGMA(diag_suppress str)
# define _CCCL_DIAG_SUPPRESS_MSVC(str)
# define _CCCL_DIAG_SUPPRESS_ICC(str)
#elif _CCCL_COMPILER(MSVC)
# define _CCCL_DIAG_PUSH _CCCL_PRAGMA(warning(push))
# define _CCCL_DIAG_POP _CCCL_PRAGMA(warning(pop))
# define _CCCL_DIAG_SUPPRESS_CLANG(str)
# define _CCCL_DIAG_SUPPRESS_GCC(str)
# define _CCCL_DIAG_SUPPRESS_NVHPC(str)
# define _CCCL_DIAG_SUPPRESS_MSVC(str) _CCCL_PRAGMA(warning(disable : str))
# define _CCCL_DIAG_SUPPRESS_ICC(str)
#else
# define _CCCL_DIAG_PUSH
# define _CCCL_DIAG_POP
# define _CCCL_DIAG_SUPPRESS_CLANG(str)
# define _CCCL_DIAG_SUPPRESS_GCC(str)
# define _CCCL_DIAG_SUPPRESS_NVHPC(str)
# define _CCCL_DIAG_SUPPRESS_MSVC(str)
# define _CCCL_DIAG_SUPPRESS_ICC(str)
#endif

// Convenient shortcuts to silence common warnings
Expand All @@ -80,12 +67,6 @@
_CCCL_DIAG_SUPPRESS_CLANG("-Wdeprecated") \
_CCCL_DIAG_SUPPRESS_CLANG("-Wdeprecated-declarations")
# define _CCCL_SUPPRESS_DEPRECATED_POP _CCCL_DIAG_POP
#elif _CCCL_COMPILER(ICC)
# define _CCCL_SUPPRESS_DEPRECATED_PUSH \
_CCCL_DIAG_PUSH \
_CCCL_DIAG_SUPPRESS_ICC(1478) \
_CCCL_DIAG_SUPPRESS_ICC(1786)
# define _CCCL_SUPPRESS_DEPRECATED_POP _CCCL_DIAG_POP
#elif _CCCL_COMPILER(GCC)
# define _CCCL_SUPPRESS_DEPRECATED_PUSH \
_CCCL_DIAG_PUSH \
Expand All @@ -103,23 +84,21 @@
_CCCL_DIAG_PUSH \
_CCCL_DIAG_SUPPRESS_MSVC(4996)
# define _CCCL_SUPPRESS_DEPRECATED_POP _CCCL_DIAG_POP
#else // !_CCCL_COMPILER(CLANG) && !_CCCL_COMPILER(ICC) && && !_CCCL_COMPILER(GCC) && !_CCCL_COMPILER(NVHPC) &&
// !_CCCL_COMPILER(MSVC)
#else // !_CCCL_COMPILER(CLANG) && !_CCCL_COMPILER(GCC) && !_CCCL_COMPILER(NVHPC) && !_CCCL_COMPILER(MSVC)
# define _CCCL_SUPPRESS_DEPRECATED_PUSH
# define _CCCL_SUPPRESS_DEPRECATED_POP
#endif // !_CCCL_COMPILER(CLANG) && !_CCCL_COMPILER(ICC) && && !_CCCL_COMPILER(GCC) && !_CCCL_COMPILER(NVHPC) &&
// !_CCCL_COMPILER(MSVC)
#endif // !_CCCL_COMPILER(CLANG) && !_CCCL_COMPILER(GCC) && !_CCCL_COMPILER(NVHPC) && !_CCCL_COMPILER(MSVC)

// Enable us to selectively silence cuda compiler warnings
#if _CCCL_HAS_CUDA_COMPILER
# if _CCCL_CUDA_COMPILER(CLANG)
# define _CCCL_NV_DIAG_SUPPRESS(_WARNING)
# define _CCCL_NV_DIAG_DEFAULT(_WARNING)
# elif defined(__NVCC_DIAG_PRAGMA_SUPPORT__) || _CCCL_COMPILER(ICC)
# elif defined(__NVCC_DIAG_PRAGMA_SUPPORT__)
# if _CCCL_COMPILER(MSVC)
# define _CCCL_NV_DIAG_SUPPRESS(_WARNING) _CCCL_PRAGMA(nv_diag_suppress _WARNING)
# define _CCCL_NV_DIAG_DEFAULT(_WARNING) _CCCL_PRAGMA(nv_diag_default _WARNING)
# else // ^^^ _CCCL_COMPILER_{MSVC,ICC}^^^ / vvv !_CCCL_COMPILER_{MSVC,ICC} vvv
# else // ^^^ _CCCL_COMPILER_{MSVC}^^^ / vvv !_CCCL_COMPILER_{MSVC} vvv
# define _CCCL_NV_DIAG_SUPPRESS(_WARNING) _CCCL_PRAGMA(nv_diagnostic push) _CCCL_PRAGMA(nv_diag_suppress _WARNING)
# define _CCCL_NV_DIAG_DEFAULT(_WARNING) _CCCL_PRAGMA(nv_diagnostic pop)
# endif // !_CCCL_COMPILER(MSVC)
Expand Down
9 changes: 0 additions & 9 deletions libcudacxx/include/cuda/std/__cccl/rtti.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,6 @@
# define _CCCL_NO_RTTI
# elif defined(__CUDA_ARCH__)
# define _CCCL_NO_RTTI // No RTTI in CUDA device code
# elif _CCCL_COMPILER(ICC)
# if __RTTI == 0 && __INTEL_RTTI__ == 0 && __GXX_RTTI == 0 && _CPPRTTI == 0
# define _CCCL_NO_RTTI
# endif
# elif _CCCL_COMPILER(NVRTC)
# define _CCCL_NO_RTTI
# elif _CCCL_COMPILER(MSVC)
Expand All @@ -58,11 +54,6 @@
# define _CCCL_NO_TYPEID
# elif defined(__CUDA_ARCH__)
# define _CCCL_NO_TYPEID // No typeid in CUDA device code
# elif _CCCL_COMPILER(ICC)
// when emulating MSVC, typeid is available even when RTTI is disabled
# if !defined(_MSC_VER) && __RTTI == 0 && __INTEL_RTTI__ == 0 && __GXX_RTTI == 0 && _CPPRTTI == 0
# define _CCCL_NO_TYPEID
# endif
# elif _CCCL_COMPILER(NVRTC)
# define _CCCL_NO_TYPEID
# elif _CCCL_COMPILER(MSVC)
Expand Down
4 changes: 2 additions & 2 deletions libcudacxx/include/cuda/std/__cccl/system_header.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#include <cuda/std/__cccl/is_non_narrowing_convertible.h> // IWYU pragma: export

// Enforce that cccl headers are treated as system headers
#if _CCCL_COMPILER(GCC) || _CCCL_COMPILER(NVHPC) || _CCCL_COMPILER(ICC)
#if _CCCL_COMPILER(GCC) || _CCCL_COMPILER(NVHPC)
# define _CCCL_FORCE_SYSTEM_HEADER_GCC
#elif _CCCL_COMPILER(CLANG)
# define _CCCL_FORCE_SYSTEM_HEADER_CLANG
Expand All @@ -26,7 +26,7 @@
// Potentially enable that cccl headers are treated as system headers
#if !defined(_CCCL_NO_SYSTEM_HEADER) && !(_CCCL_COMPILER(MSVC) && defined(_LIBCUDACXX_DISABLE_PRAGMA_MSVC_WARNING)) \
&& !_CCCL_COMPILER(NVRTC) && !defined(_LIBCUDACXX_DISABLE_PRAGMA_GCC_SYSTEM_HEADER)
# if _CCCL_COMPILER(GCC) || _CCCL_COMPILER(NVHPC) || _CCCL_COMPILER(ICC)
# if _CCCL_COMPILER(GCC) || _CCCL_COMPILER(NVHPC)
# define _CCCL_IMPLICIT_SYSTEM_HEADER_GCC
# elif _CCCL_COMPILER(CLANG)
# define _CCCL_IMPLICIT_SYSTEM_HEADER_CLANG
Expand Down
8 changes: 3 additions & 5 deletions libcudacxx/include/cuda/std/__cccl/visibility.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,13 +72,11 @@
# define _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
#endif // !exclude_from_explicit_instantiation

#if _CCCL_COMPILER(ICC) // ICC has issues with visibility attributes on symbols with internal linkage
#if _CCCL_COMPILER(NVHPC) // NVHPC has issues with visibility attributes on symbols with internal linkage
# define _CCCL_HIDE_FROM_ABI inline
#elif _CCCL_COMPILER(NVHPC) // NVHPC has issues with visibility attributes on symbols with internal linkage
# define _CCCL_HIDE_FROM_ABI inline
#else // ^^^ _CCCL_COMPILER(ICC) ^^^ / vvv !_CCCL_COMPILER(ICC) vvv
#else // ^^^ _CCCL_COMPILER(NVHPC) ^^^ / vvv !_CCCL_COMPILER(NVHPC) vvv
# define _CCCL_HIDE_FROM_ABI _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION inline
#endif // !_CCCL_COMPILER(ICC)
#endif // !_CCCL_COMPILER(NVHPC)

//! Defined here to suppress any warnings from the definition
#define _LIBCUDACXX_HIDE_FROM_ABI _CCCL_HIDE_FROM_ABI _CCCL_HOST_DEVICE
Expand Down
Loading

0 comments on commit 7a4a5ed

Please sign in to comment.