Skip to content

Commit b9c21e4

Browse files
Drop ICC support in code (NVIDIA#3279)
* Drop ICC from code Fixes: NVIDIA#3278 Co-authored-by: Michael Schellenberger Costa <miscco@nvidia.com>
1 parent 4b9b6a4 commit b9c21e4

File tree

115 files changed

+95
-534
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+95
-534
lines changed

CMakePresets.json

-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
"CCCL_ENABLE_TESTING": false,
2323
"CCCL_ENABLE_EXAMPLES": false,
2424
"CCCL_ENABLE_C": false,
25-
"CCCL_SUPPRESS_ICC_DEPRECATION_WARNING": true,
2625
"CCCL_SUPPRESS_MSVC2017_DEPRECATION_WARNING": true,
2726
"libcudacxx_ENABLE_INSTALL_RULES": true,
2827
"CUB_ENABLE_INSTALL_RULES": true,

cmake/CCCLBuildCompilerTargets.cmake

-15
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT Embedded)
2323
option(CCCL_ENABLE_EXCEPTIONS "Enable exceptions within CCCL libraries." ON)
2424
option(CCCL_ENABLE_RTTI "Enable RTTI within CCCL libraries." ON)
2525
option(CCCL_ENABLE_WERROR "Treat warnings as errors for CCCL targets." ON)
26-
option(CCCL_SUPPRESS_ICC_DEPRECATION_WARNING "Suppress Intel Compiler deprecation warnings" OFF)
2726
option(CCCL_SUPPRESS_MSVC2017_DEPRECATION_WARNING "Suppress Visual Studio 2017 deprecation warnings" OFF)
2827

2928
function(cccl_build_compiler_interface interface_target cuda_compile_options cxx_compile_options compile_defs)
@@ -69,10 +68,6 @@ function(cccl_build_compiler_targets)
6968
list(APPEND cxx_compile_definitions "CCCL_DISABLE_RTTI")
7069
endif()
7170

72-
if (CCCL_SUPPRESS_ICC_DEPRECATION_WARNING)
73-
list(APPEND cxx_compile_definitions "CCCL_SUPPRESS_ICC_DEPRECATION_WARNING")
74-
endif()
75-
7671
if (CCCL_SUPPRESS_MSVC2017_DEPRECATION_WARNING)
7772
list(APPEND cxx_compile_definitions "CCCL_SUPPRESS_MSVC2017_DEPRECATION_WARNING")
7873
endif()
@@ -160,16 +155,6 @@ function(cccl_build_compiler_targets)
160155
endif()
161156
endif()
162157

163-
if ("Intel" STREQUAL "${CMAKE_CXX_COMPILER_ID}")
164-
# Do not flush denormal floats to zero
165-
append_option_if_available("-no-ftz" cxx_compile_options)
166-
# Disable warning that inlining is inhibited by compiler thresholds.
167-
append_option_if_available("-diag-disable=11074" cxx_compile_options)
168-
append_option_if_available("-diag-disable=11076" cxx_compile_options)
169-
# Disable warning about deprecated classic compiler
170-
append_option_if_available("-diag-disable=10441" cxx_compile_options)
171-
endif()
172-
173158
cccl_build_compiler_interface(cccl.compiler_interface
174159
"${cuda_compile_options}"
175160
"${cxx_compile_options}"

cub/cub/detail/fast_modulo_division.cuh

-3
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,6 @@ multiply_extract_higher_bits(T value, R multiplier)
109109
{
110110
static_assert(supported_integral<T>::value, "unsupported type");
111111
static_assert(supported_integral<R>::value, "unsupported type");
112-
_CCCL_DIAG_PUSH
113-
_CCCL_DIAG_SUPPRESS_ICC(186) // pointless comparison of unsigned integer with zero
114112
_CCCL_IF_CONSTEXPR (_CCCL_TRAIT(::cuda::std::is_signed, T))
115113
{
116114
_CCCL_ASSERT(value >= 0, "value must be non-negative");
@@ -119,7 +117,6 @@ multiply_extract_higher_bits(T value, R multiplier)
119117
{
120118
_CCCL_ASSERT(multiplier >= 0, "multiplier must be non-negative");
121119
}
122-
_CCCL_DIAG_POP
123120
static constexpr int NumBits = sizeof(DivisorType) * CHAR_BIT;
124121
using unsigned_t = unsigned_implicit_prom_t<DivisorType>;
125122
using larger_t = larger_unsigned_type_t<DivisorType>;

cub/cub/util_macro.cuh

-6
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,6 @@ _CCCL_DIAG_SUPPRESS_CLANG("-Wattributes")
112112
# if !_CCCL_CUDA_COMPILER(NVHPC)
113113
_CCCL_DIAG_SUPPRESS_NVHPC(attribute_requires_external_linkage)
114114
# endif // !_CCCL_CUDA_COMPILER(NVHPC)
115-
# if _CCCL_COMPILER(ICC)
116-
# pragma nv_diag_suppress 1407 // the "__visibility__" attribute can only appear on functions and
117-
// variables with external linkage'
118-
# pragma warning(disable : 1890) // the "__visibility__" attribute can only appear on functions and
119-
// variables with external linkage'
120-
# endif // _CCCL_COMPILER(ICC)
121115
#endif // !CUB_DISABLE_KERNEL_VISIBILITY_WARNING_SUPPRESSION
122116

123117
#ifndef CUB_DEFINE_KERNEL_GETTER

cub/cub/util_type.cuh

+2-2
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@ CUB_NAMESPACE_BEGIN
8282
# endif // !defined(__CUDACC_RTC_INT128__)
8383
# else // !defined(__CUDACC_RTC__)
8484
# if _CCCL_CUDACC_AT_LEAST(11, 5)
85-
# if _CCCL_COMPILER(GCC) || _CCCL_COMPILER(CLANG) || _CCCL_COMPILER(ICC) || _CCCL_COMPILER(NVHPC)
85+
# if _CCCL_COMPILER(GCC) || _CCCL_COMPILER(CLANG) || _CCCL_COMPILER(NVHPC)
8686
# define CUB_IS_INT128_ENABLED 1
87-
# endif // GCC || CLANG || ICC || NVHPC
87+
# endif // GCC || CLANG || NVHPC
8888
# endif // _CCCL_CUDACC_AT_LEAST(11, 5)
8989
# endif // !defined(__CUDACC_RTC__)
9090
#endif // !defined(CUB_IS_INT128_ENABLED)

cub/test/catch2_test_device_for_each_in_extents.cu

+2-2
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ static auto fill_linear_impl(c2h::host_vector<T>& vector, const ExtentType&, siz
5555
_CCCL_TRAILING_REQUIRES(void)((Rank == ExtentType::rank()))
5656
{
5757
vector[pos++] = {indices...};
58-
return void(); // Intel and nvc++ require a return statement
58+
return void(); // nvc++ requires a return statement
5959
}
6060

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

7373
template <typename T, typename IndexType, size_t... Extents>

cudax/include/cuda/experimental/__detail/config.cuh

+3-9
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,9 @@
3535
// two attributes:
3636
// - `_CUDAX_API` declares the function host/device and hides the symbol from the ABI
3737
// - `_CUDAX_TRIVIAL_API` does the same while also forcing inlining and hiding the function from debuggers
38-
#if _CCCL_COMPILER(ICC) // ICC has issues with visibility attributes on symbols with internal linkage
39-
# define _CUDAX_API _CCCL_HOST_DEVICE
40-
# define _CUDAX_HOST_API _CCCL_HOST
41-
# define _CUDAX_DEVICE_API _CCCL_DEVICE
42-
#else // ^^^ _CCCL_COMPILER(ICC) ^^^ / vvv !_CCCL_COMPILER(ICC) vvv
43-
# define _CUDAX_API _CCCL_HOST_DEVICE _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
44-
# define _CUDAX_HOST_API _CCCL_HOST _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
45-
# define _CUDAX_DEVICE_API _CCCL_DEVICE _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
46-
#endif // !_CCCL_COMPILER(ICC)
38+
#define _CUDAX_API _CCCL_HOST_DEVICE _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
39+
#define _CUDAX_HOST_API _CCCL_HOST _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
40+
#define _CUDAX_DEVICE_API _CCCL_DEVICE _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
4741

4842
// _CUDAX_TRIVIAL_API force-inlines a function, marks its visibility as hidden, and causes debuggers to skip it.
4943
// This is useful for trivial internal functions that do dispatching or other plumbing work. It is particularly

docs/repo.toml

-3
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,6 @@ doxygen_predefined = [
157157
"_CCCL_DIAG_POP=",
158158
"_CCCL_DIAG_SUPPRESS_CLANG(x)=",
159159
"_CCCL_DIAG_SUPPRESS_GCC(x)=",
160-
"_CCCL_DIAG_SUPPRESS_ICC(x)=",
161160
"_CCCL_DIAG_SUPPRESS_MSVC(x)=",
162161
"_CCCL_DIAG_SUPPRESS_NVHPC(x)=",
163162
"_CCCL_DOXYGEN_INVOKED",
@@ -270,7 +269,6 @@ doxygen_predefined = [
270269
"_CCCL_DIAG_POP=",
271270
"_CCCL_DIAG_SUPPRESS_CLANG(x)=",
272271
"_CCCL_DIAG_SUPPRESS_GCC(x)=",
273-
"_CCCL_DIAG_SUPPRESS_ICC(x)=",
274272
"_CCCL_DIAG_SUPPRESS_MSVC(x)=",
275273
"_CCCL_DIAG_SUPPRESS_NVHPC(x)=",
276274
"CUDASTF_HOST=",
@@ -435,7 +433,6 @@ doxygen_predefined = [
435433
"_CCCL_DIAG_POP=",
436434
"_CCCL_DIAG_SUPPRESS_CLANG(x)=",
437435
"_CCCL_DIAG_SUPPRESS_GCC(x)=",
438-
"_CCCL_DIAG_SUPPRESS_ICC(x)=",
439436
"_CCCL_DIAG_SUPPRESS_MSVC(x)=",
440437
"_CCCL_DIAG_SUPPRESS_NVHPC(x)=",
441438
"_CCCL_REQUIRES(x)= ::cuda::std::enable_if_t<x, int> = 0>",

libcudacxx/cmake/DetermineGCCCompatible.cmake

-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,5 @@ if(NOT DEFINED LLVM_COMPILER_IS_GCC_COMPATIBLE)
77
set(LLVM_COMPILER_IS_GCC_COMPATIBLE OFF)
88
elseif( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" )
99
set(LLVM_COMPILER_IS_GCC_COMPATIBLE ON)
10-
elseif( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel" )
11-
set(LLVM_COMPILER_IS_GCC_COMPATIBLE ON)
1210
endif()
1311
endif()

libcudacxx/include/cuda/std/__cccl/assert.h

+3-9
Original file line numberDiff line numberDiff line change
@@ -79,15 +79,9 @@ _CCCL_HOST_DEVICE
7979
__attribute__((__noreturn__));
8080
}
8181
# endif // NDEBUG
82-
// ICC cannot deal with `__builtin_expect` in the constexpr evaluator, so just drop it
83-
# if _CCCL_COMPILER(ICC)
84-
# define _CCCL_ASSERT_IMPL_HOST(expression, message) \
85-
static_cast<bool>(expression) ? (void) 0 : __assert_fail(message, __FILE__, __LINE__, __func__);
86-
# else // ^^^ _CCCL_COMPILER(ICC) ^^^ / vvv !_CCCL_COMPILER(ICC) vvv
87-
# define _CCCL_ASSERT_IMPL_HOST(expression, message) \
88-
_CCCL_BUILTIN_EXPECT(static_cast<bool>(expression), 1) \
89-
? (void) 0 : __assert_fail(message, __FILE__, __LINE__, __func__)
90-
# endif // !_CCCL_COMPILER(ICC)
82+
# define _CCCL_ASSERT_IMPL_HOST(expression, message) \
83+
_CCCL_BUILTIN_EXPECT(static_cast<bool>(expression), 1) \
84+
? (void) 0 : __assert_fail(message, __FILE__, __LINE__, __func__)
9185
#endif // !MSVC STL
9286

9387
//! Use custom implementations with nvcc on device and the host ones with clang-cuda and nvhpc

libcudacxx/include/cuda/std/__cccl/compiler.h

+4-5
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,10 @@
4242

4343
// Determine the host compiler and its version
4444
#if defined(__INTEL_COMPILER)
45-
# define _CCCL_COMPILER_ICC 1
46-
# ifndef CCCL_SUPPRESS_ICC_DEPRECATION_WARNING
45+
# ifndef CCCL_IGNORE_DEPRECATED_COMPILER
4746
# warning \
48-
"Support for the Intel C++ Compiler Classic is deprecated and will eventually be removed. Define CCCL_SUPPRESS_ICC_DEPRECATION_WARNING to suppress this warning"
49-
# endif // CCCL_SUPPRESS_ICC_DEPRECATION_WARNING
47+
"The Intel C++ Compiler Classic (icc/icpc) is not supported by CCCL. Define CCCL_IGNORE_DEPRECATED_COMPILER to suppress this message."
48+
# endif // !CCCL_IGNORE_DEPRECATED_COMPILER
5049
#elif defined(__NVCOMPILER)
5150
# define _CCCL_COMPILER_NVHPC _CCCL_COMPILER_MAKE_VERSION(__NVCOMPILER_MAJOR__, __NVCOMPILER_MINOR__)
5251
#elif defined(__clang__)
@@ -59,7 +58,7 @@
5958
# if _CCCL_COMPILER_MSVC2017 && !defined(CCCL_SUPPRESS_MSVC2017_DEPRECATION_WARNING)
6059
# pragma message( \
6160
"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")
62-
# endif // CCCL_SUPPRESS_ICC_DEPRECATION_WARNING
61+
# endif
6362
# define _CCCL_COMPILER_MSVC2019 \
6463
(_CCCL_COMPILER_MSVC >= _CCCL_COMPILER_MAKE_VERSION(19, 20) \
6564
&& _CCCL_COMPILER_MSVC < _CCCL_COMPILER_MAKE_VERSION(19, 30))

libcudacxx/include/cuda/std/__cccl/diagnostic.h

+4-25
Original file line numberDiff line numberDiff line change
@@ -30,47 +30,34 @@
3030
# define _CCCL_DIAG_SUPPRESS_GCC(str)
3131
# define _CCCL_DIAG_SUPPRESS_NVHPC(str)
3232
# define _CCCL_DIAG_SUPPRESS_MSVC(str)
33-
# define _CCCL_DIAG_SUPPRESS_ICC(str)
3433
#elif _CCCL_COMPILER(GCC)
3534
# define _CCCL_DIAG_PUSH _CCCL_PRAGMA(GCC diagnostic push)
3635
# define _CCCL_DIAG_POP _CCCL_PRAGMA(GCC diagnostic pop)
3736
# define _CCCL_DIAG_SUPPRESS_CLANG(str)
3837
# define _CCCL_DIAG_SUPPRESS_GCC(str) _CCCL_PRAGMA(GCC diagnostic ignored str)
3938
# define _CCCL_DIAG_SUPPRESS_NVHPC(str)
4039
# define _CCCL_DIAG_SUPPRESS_MSVC(str)
41-
# define _CCCL_DIAG_SUPPRESS_ICC(str)
42-
#elif _CCCL_COMPILER(ICC)
43-
# define _CCCL_DIAG_PUSH _CCCL_PRAGMA(GCC diagnostic push)
44-
# define _CCCL_DIAG_POP _CCCL_PRAGMA(GCC diagnostic pop)
45-
# define _CCCL_DIAG_SUPPRESS_CLANG(str)
46-
# define _CCCL_DIAG_SUPPRESS_GCC(str) _CCCL_PRAGMA(GCC diagnostic ignored str)
47-
# define _CCCL_DIAG_SUPPRESS_NVHPC(str)
48-
# define _CCCL_DIAG_SUPPRESS_MSVC(str)
49-
# define _CCCL_DIAG_SUPPRESS_ICC(str) _CCCL_PRAGMA(warning disable str)
5040
#elif _CCCL_COMPILER(NVHPC)
5141
# define _CCCL_DIAG_PUSH _CCCL_PRAGMA(diagnostic push)
5242
# define _CCCL_DIAG_POP _CCCL_PRAGMA(diagnostic pop)
5343
# define _CCCL_DIAG_SUPPRESS_CLANG(str)
5444
# define _CCCL_DIAG_SUPPRESS_GCC(str)
5545
# define _CCCL_DIAG_SUPPRESS_NVHPC(str) _CCCL_PRAGMA(diag_suppress str)
5646
# define _CCCL_DIAG_SUPPRESS_MSVC(str)
57-
# define _CCCL_DIAG_SUPPRESS_ICC(str)
5847
#elif _CCCL_COMPILER(MSVC)
5948
# define _CCCL_DIAG_PUSH _CCCL_PRAGMA(warning(push))
6049
# define _CCCL_DIAG_POP _CCCL_PRAGMA(warning(pop))
6150
# define _CCCL_DIAG_SUPPRESS_CLANG(str)
6251
# define _CCCL_DIAG_SUPPRESS_GCC(str)
6352
# define _CCCL_DIAG_SUPPRESS_NVHPC(str)
6453
# define _CCCL_DIAG_SUPPRESS_MSVC(str) _CCCL_PRAGMA(warning(disable : str))
65-
# define _CCCL_DIAG_SUPPRESS_ICC(str)
6654
#else
6755
# define _CCCL_DIAG_PUSH
6856
# define _CCCL_DIAG_POP
6957
# define _CCCL_DIAG_SUPPRESS_CLANG(str)
7058
# define _CCCL_DIAG_SUPPRESS_GCC(str)
7159
# define _CCCL_DIAG_SUPPRESS_NVHPC(str)
7260
# define _CCCL_DIAG_SUPPRESS_MSVC(str)
73-
# define _CCCL_DIAG_SUPPRESS_ICC(str)
7461
#endif
7562

7663
// Convenient shortcuts to silence common warnings
@@ -80,12 +67,6 @@
8067
_CCCL_DIAG_SUPPRESS_CLANG("-Wdeprecated") \
8168
_CCCL_DIAG_SUPPRESS_CLANG("-Wdeprecated-declarations")
8269
# define _CCCL_SUPPRESS_DEPRECATED_POP _CCCL_DIAG_POP
83-
#elif _CCCL_COMPILER(ICC)
84-
# define _CCCL_SUPPRESS_DEPRECATED_PUSH \
85-
_CCCL_DIAG_PUSH \
86-
_CCCL_DIAG_SUPPRESS_ICC(1478) \
87-
_CCCL_DIAG_SUPPRESS_ICC(1786)
88-
# define _CCCL_SUPPRESS_DEPRECATED_POP _CCCL_DIAG_POP
8970
#elif _CCCL_COMPILER(GCC)
9071
# define _CCCL_SUPPRESS_DEPRECATED_PUSH \
9172
_CCCL_DIAG_PUSH \
@@ -103,23 +84,21 @@
10384
_CCCL_DIAG_PUSH \
10485
_CCCL_DIAG_SUPPRESS_MSVC(4996)
10586
# define _CCCL_SUPPRESS_DEPRECATED_POP _CCCL_DIAG_POP
106-
#else // !_CCCL_COMPILER(CLANG) && !_CCCL_COMPILER(ICC) && && !_CCCL_COMPILER(GCC) && !_CCCL_COMPILER(NVHPC) &&
107-
// !_CCCL_COMPILER(MSVC)
87+
#else // !_CCCL_COMPILER(CLANG) && !_CCCL_COMPILER(GCC) && !_CCCL_COMPILER(NVHPC) && !_CCCL_COMPILER(MSVC)
10888
# define _CCCL_SUPPRESS_DEPRECATED_PUSH
10989
# define _CCCL_SUPPRESS_DEPRECATED_POP
110-
#endif // !_CCCL_COMPILER(CLANG) && !_CCCL_COMPILER(ICC) && && !_CCCL_COMPILER(GCC) && !_CCCL_COMPILER(NVHPC) &&
111-
// !_CCCL_COMPILER(MSVC)
90+
#endif // !_CCCL_COMPILER(CLANG) && !_CCCL_COMPILER(GCC) && !_CCCL_COMPILER(NVHPC) && !_CCCL_COMPILER(MSVC)
11291

11392
// Enable us to selectively silence cuda compiler warnings
11493
#if _CCCL_HAS_CUDA_COMPILER
11594
# if _CCCL_CUDA_COMPILER(CLANG)
11695
# define _CCCL_NV_DIAG_SUPPRESS(_WARNING)
11796
# define _CCCL_NV_DIAG_DEFAULT(_WARNING)
118-
# elif defined(__NVCC_DIAG_PRAGMA_SUPPORT__) || _CCCL_COMPILER(ICC)
97+
# elif defined(__NVCC_DIAG_PRAGMA_SUPPORT__)
11998
# if _CCCL_COMPILER(MSVC)
12099
# define _CCCL_NV_DIAG_SUPPRESS(_WARNING) _CCCL_PRAGMA(nv_diag_suppress _WARNING)
121100
# define _CCCL_NV_DIAG_DEFAULT(_WARNING) _CCCL_PRAGMA(nv_diag_default _WARNING)
122-
# else // ^^^ _CCCL_COMPILER_{MSVC,ICC}^^^ / vvv !_CCCL_COMPILER_{MSVC,ICC} vvv
101+
# else // ^^^ _CCCL_COMPILER_{MSVC}^^^ / vvv !_CCCL_COMPILER_{MSVC} vvv
123102
# define _CCCL_NV_DIAG_SUPPRESS(_WARNING) _CCCL_PRAGMA(nv_diagnostic push) _CCCL_PRAGMA(nv_diag_suppress _WARNING)
124103
# define _CCCL_NV_DIAG_DEFAULT(_WARNING) _CCCL_PRAGMA(nv_diagnostic pop)
125104
# endif // !_CCCL_COMPILER(MSVC)

libcudacxx/include/cuda/std/__cccl/rtti.h

-9
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,6 @@
3232
# define _CCCL_NO_RTTI
3333
# elif defined(__CUDA_ARCH__)
3434
# define _CCCL_NO_RTTI // No RTTI in CUDA device code
35-
# elif _CCCL_COMPILER(ICC)
36-
# if __RTTI == 0 && __INTEL_RTTI__ == 0 && __GXX_RTTI == 0 && _CPPRTTI == 0
37-
# define _CCCL_NO_RTTI
38-
# endif
3935
# elif _CCCL_COMPILER(NVRTC)
4036
# define _CCCL_NO_RTTI
4137
# elif _CCCL_COMPILER(MSVC)
@@ -58,11 +54,6 @@
5854
# define _CCCL_NO_TYPEID
5955
# elif defined(__CUDA_ARCH__)
6056
# define _CCCL_NO_TYPEID // No typeid in CUDA device code
61-
# elif _CCCL_COMPILER(ICC)
62-
// when emulating MSVC, typeid is available even when RTTI is disabled
63-
# if !defined(_MSC_VER) && __RTTI == 0 && __INTEL_RTTI__ == 0 && __GXX_RTTI == 0 && _CPPRTTI == 0
64-
# define _CCCL_NO_TYPEID
65-
# endif
6657
# elif _CCCL_COMPILER(NVRTC)
6758
# define _CCCL_NO_TYPEID
6859
# elif _CCCL_COMPILER(MSVC)

libcudacxx/include/cuda/std/__cccl/system_header.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
#include <cuda/std/__cccl/is_non_narrowing_convertible.h> // IWYU pragma: export
1616

1717
// Enforce that cccl headers are treated as system headers
18-
#if _CCCL_COMPILER(GCC) || _CCCL_COMPILER(NVHPC) || _CCCL_COMPILER(ICC)
18+
#if _CCCL_COMPILER(GCC) || _CCCL_COMPILER(NVHPC)
1919
# define _CCCL_FORCE_SYSTEM_HEADER_GCC
2020
#elif _CCCL_COMPILER(CLANG)
2121
# define _CCCL_FORCE_SYSTEM_HEADER_CLANG
@@ -26,7 +26,7 @@
2626
// Potentially enable that cccl headers are treated as system headers
2727
#if !defined(_CCCL_NO_SYSTEM_HEADER) && !(_CCCL_COMPILER(MSVC) && defined(_LIBCUDACXX_DISABLE_PRAGMA_MSVC_WARNING)) \
2828
&& !_CCCL_COMPILER(NVRTC) && !defined(_LIBCUDACXX_DISABLE_PRAGMA_GCC_SYSTEM_HEADER)
29-
# if _CCCL_COMPILER(GCC) || _CCCL_COMPILER(NVHPC) || _CCCL_COMPILER(ICC)
29+
# if _CCCL_COMPILER(GCC) || _CCCL_COMPILER(NVHPC)
3030
# define _CCCL_IMPLICIT_SYSTEM_HEADER_GCC
3131
# elif _CCCL_COMPILER(CLANG)
3232
# define _CCCL_IMPLICIT_SYSTEM_HEADER_CLANG

libcudacxx/include/cuda/std/__cccl/visibility.h

+3-5
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,11 @@
7272
# define _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
7373
#endif // !exclude_from_explicit_instantiation
7474

75-
#if _CCCL_COMPILER(ICC) // ICC has issues with visibility attributes on symbols with internal linkage
75+
#if _CCCL_COMPILER(NVHPC) // NVHPC has issues with visibility attributes on symbols with internal linkage
7676
# define _CCCL_HIDE_FROM_ABI inline
77-
#elif _CCCL_COMPILER(NVHPC) // NVHPC has issues with visibility attributes on symbols with internal linkage
78-
# define _CCCL_HIDE_FROM_ABI inline
79-
#else // ^^^ _CCCL_COMPILER(ICC) ^^^ / vvv !_CCCL_COMPILER(ICC) vvv
77+
#else // ^^^ _CCCL_COMPILER(NVHPC) ^^^ / vvv !_CCCL_COMPILER(NVHPC) vvv
8078
# define _CCCL_HIDE_FROM_ABI _CCCL_VISIBILITY_HIDDEN _CCCL_EXCLUDE_FROM_EXPLICIT_INSTANTIATION inline
81-
#endif // !_CCCL_COMPILER(ICC)
79+
#endif // !_CCCL_COMPILER(NVHPC)
8280

8381
//! Defined here to suppress any warnings from the definition
8482
#define _LIBCUDACXX_HIDE_FROM_ABI _CCCL_HIDE_FROM_ABI _CCCL_HOST_DEVICE

0 commit comments

Comments
 (0)