diff --git a/cub/cub/agent/agent_adjacent_difference.cuh b/cub/cub/agent/agent_adjacent_difference.cuh index 488d3182ac9..b3ee5d50796 100644 --- a/cub/cub/agent/agent_adjacent_difference.cuh +++ b/cub/cub/agent/agent_adjacent_difference.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/agent/agent_batch_memcpy.cuh b/cub/cub/agent/agent_batch_memcpy.cuh index c2e4ed8ff6e..3af70f87128 100644 --- a/cub/cub/agent/agent_batch_memcpy.cuh +++ b/cub/cub/agent/agent_batch_memcpy.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/agent/agent_histogram.cuh b/cub/cub/agent/agent_histogram.cuh index b3c5228d36a..781012f7044 100644 --- a/cub/cub/agent/agent_histogram.cuh +++ b/cub/cub/agent/agent_histogram.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -266,7 +268,7 @@ struct AgentHistogram struct _TempStorage { // Smem needed for block-privatized smem histogram (with 1 word of padding) - CounterT histograms[NUM_ACTIVE_CHANNELS][PRIVATIZED_SMEM_BINS + 1]; + CounterT histograms[NUM_ACTIVE_CHANNELS][PRIVATIZED_SMEM_BINS + 1]; int tile_idx; @@ -274,10 +276,10 @@ struct AgentHistogram union Aliasable { // Smem needed for loading a tile of samples - typename BlockLoadSampleT::TempStorage sample_load; + typename BlockLoadSampleT::TempStorage sample_load; // Smem needed for loading a tile of pixels - typename BlockLoadPixelT::TempStorage pixel_load; + typename BlockLoadPixelT::TempStorage pixel_load; // Smem needed for loading a tile of vecs typename BlockLoadVecT::TempStorage vec_load; @@ -650,7 +652,7 @@ struct AgentHistogram /** * @brief Consume a tile of data samples - * + * * @tparam IS_ALIGNED * Whether the tile offset is aligned (vec-aligned for single-channel, pixel-aligned for multi-channel) * @@ -691,17 +693,17 @@ struct AgentHistogram /** * @brief Consume row tiles. Specialized for work-stealing from queue - * - * @param num_row_pixels - * The number of multi-channel pixels per row in the region of interest * - * @param num_rows + * @param num_row_pixels + * The number of multi-channel pixels per row in the region of interest + * + * @param num_rows * The number of rows in the region of interest * - * @param row_stride_samples + * @param row_stride_samples * The number of samples between starts of consecutive rows in the region of interest * - * @param tiles_per_row + * @param tiles_per_row * Number of image tiles per row */ template @@ -752,17 +754,17 @@ struct AgentHistogram /** * @brief Consume row tiles. Specialized for even-share (striped across thread blocks) - * - * @param num_row_pixels + * + * @param num_row_pixels * The number of multi-channel pixels per row in the region of interest * - * @param num_rows + * @param num_rows * The number of rows in the region of interest * - * @param row_stride_samples + * @param row_stride_samples * The number of samples between starts of consecutive rows in the region of interest * - * @param tiles_per_row + * @param tiles_per_row * Number of image tiles per row */ template @@ -829,10 +831,10 @@ struct AgentHistogram /** * @brief Constructor * - * @param temp_storage + * @param temp_storage * Reference to temp_storage * - * @param d_samples + * @param d_samples * Input data to reduce * * @param num_output_bins diff --git a/cub/cub/agent/agent_merge_sort.cuh b/cub/cub/agent/agent_merge_sort.cuh index 996bf350812..124f236018d 100644 --- a/cub/cub/agent/agent_merge_sort.cuh +++ b/cub/cub/agent/agent_merge_sort.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/agent/agent_radix_sort_downsweep.cuh b/cub/cub/agent/agent_radix_sort_downsweep.cuh index 80086b7fd01..3141f2feb71 100644 --- a/cub/cub/agent/agent_radix_sort_downsweep.cuh +++ b/cub/cub/agent/agent_radix_sort_downsweep.cuh @@ -37,11 +37,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -131,7 +133,7 @@ struct AgentRadixSortDownsweepPolicy : ScalingType /** - * @brief AgentRadixSortDownsweep implements a stateful abstraction of CUDA thread blocks for participating in + * @brief AgentRadixSortDownsweep implements a stateful abstraction of CUDA thread blocks for participating in * device-wide radix sort downsweep . * * @tparam AgentRadixSortDownsweepPolicy diff --git a/cub/cub/agent/agent_radix_sort_histogram.cuh b/cub/cub/agent/agent_radix_sort_histogram.cuh index 58afeb6a721..64033902f77 100644 --- a/cub/cub/agent/agent_radix_sort_histogram.cuh +++ b/cub/cub/agent/agent_radix_sort_histogram.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/agent/agent_radix_sort_onesweep.cuh b/cub/cub/agent/agent_radix_sort_onesweep.cuh index 7a1f9074715..f1faacd04bb 100644 --- a/cub/cub/agent/agent_radix_sort_onesweep.cuh +++ b/cub/cub/agent/agent_radix_sort_onesweep.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/agent/agent_radix_sort_upsweep.cuh b/cub/cub/agent/agent_radix_sort_upsweep.cuh index bcfb71e65f6..081af12e6fd 100644 --- a/cub/cub/agent/agent_radix_sort_upsweep.cuh +++ b/cub/cub/agent/agent_radix_sort_upsweep.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -510,7 +512,7 @@ struct AgentRadixSortUpsweep * @brief Extract counts * * @param[out] bin_count - * The exclusive prefix sum for the digits + * The exclusive prefix sum for the digits * [(threadIdx.x * BINS_TRACKED_PER_THREAD) ... (threadIdx.x * BINS_TRACKED_PER_THREAD) + BINS_TRACKED_PER_THREAD - 1] */ template diff --git a/cub/cub/agent/agent_reduce.cuh b/cub/cub/agent/agent_reduce.cuh index 244b99650e8..9d758007861 100644 --- a/cub/cub/agent/agent_reduce.cuh +++ b/cub/cub/agent/agent_reduce.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/cub/cub/agent/agent_reduce_by_key.cuh b/cub/cub/agent/agent_reduce_by_key.cuh index 85c9f2ce9aa..a6b36d27ba0 100644 --- a/cub/cub/agent/agent_reduce_by_key.cuh +++ b/cub/cub/agent/agent_reduce_by_key.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/agent/agent_rle.cuh b/cub/cub/agent/agent_rle.cuh index a12358580cb..ca635174c9e 100644 --- a/cub/cub/agent/agent_rle.cuh +++ b/cub/cub/agent/agent_rle.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -130,7 +132,7 @@ struct AgentRlePolicy ******************************************************************************/ /** - * @brief AgentRle implements a stateful abstraction of CUDA thread blocks for participating in device-wide run-length-encode + * @brief AgentRle implements a stateful abstraction of CUDA thread blocks for participating in device-wide run-length-encode * * @tparam AgentRlePolicyT * Parameterized AgentRlePolicyT tuning policy type @@ -329,22 +331,22 @@ struct AgentRle //--------------------------------------------------------------------- /** - * @param[in] temp_storage + * @param[in] temp_storage * Reference to temp_storage * - * @param[in] d_in + * @param[in] d_in * Pointer to input sequence of data items * - * @param[out] d_offsets_out + * @param[out] d_offsets_out * Pointer to output sequence of run offsets * - * @param[out] d_lengths_out + * @param[out] d_lengths_out * Pointer to output sequence of run lengths * - * @param[in] equality_op + * @param[in] equality_op * Equality operator * - * @param[in] num_items + * @param[in] num_items * Total number of input items */ __device__ __forceinline__ AgentRle(TempStorage &temp_storage, @@ -731,19 +733,19 @@ struct AgentRle /** * @brief Process a tile of input (dynamic chained scan) * - * @param num_items + * @param num_items * Total number of global input items * - * @param num_remaining + * @param num_remaining * Number of global input items remaining (including this tile) * - * @param tile_idx + * @param tile_idx * Tile index * - * @param tile_offset + * @param tile_offset * Tile offset * - * @param &tile_status + * @param &tile_status * Global list of tile status */ template @@ -953,13 +955,13 @@ struct AgentRle /** * @brief Scan tiles of items as part of a dynamic chained scan * - * @param num_tiles + * @param num_tiles * Total number of input tiles * - * @param tile_status + * @param tile_status * Global list of tile status * - * @param d_num_runs_out + * @param d_num_runs_out * Output pointer for total number of runs identified * * @tparam NumRunsIteratorT diff --git a/cub/cub/agent/agent_scan.cuh b/cub/cub/agent/agent_scan.cuh index 80df0b8edf2..764bed0beef 100644 --- a/cub/cub/agent/agent_scan.cuh +++ b/cub/cub/agent/agent_scan.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/agent/agent_scan_by_key.cuh b/cub/cub/agent/agent_scan_by_key.cuh index dbdd6c96f70..cc705f61830 100644 --- a/cub/cub/agent/agent_scan_by_key.cuh +++ b/cub/cub/agent/agent_scan_by_key.cuh @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/agent/agent_segment_fixup.cuh b/cub/cub/agent/agent_segment_fixup.cuh index 1dda6a58f30..ca544cc44aa 100644 --- a/cub/cub/agent/agent_segment_fixup.cuh +++ b/cub/cub/agent/agent_segment_fixup.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -243,19 +245,19 @@ struct AgentSegmentFixup //--------------------------------------------------------------------- /** - * @param temp_storage + * @param temp_storage * Reference to temp_storage * - * @param d_pairs_in + * @param d_pairs_in * Input keys * - * @param d_aggregates_out + * @param d_aggregates_out * Output value aggregates * - * @param equality_op + * @param equality_op * KeyT equality operator * - * @param reduction_op + * @param reduction_op * ValueT reduction operator */ __device__ __forceinline__ AgentSegmentFixup(TempStorage &temp_storage, @@ -280,19 +282,19 @@ struct AgentSegmentFixup /** * @brief Process input tile. Specialized for atomic-fixup * - * @param num_remaining + * @param num_remaining * Number of global input items remaining (including this tile) * - * @param tile_idx + * @param tile_idx * Tile index * - * @param tile_offset + * @param tile_offset * Tile offset * - * @param tile_state + * @param tile_state * Global tile state descriptor * - * @param use_atomic_fixup + * @param use_atomic_fixup * Marker whether to use atomicAdd (instead of reduce-by-key) */ template diff --git a/cub/cub/agent/agent_segmented_radix_sort.cuh b/cub/cub/agent/agent_segmented_radix_sort.cuh index 9b7f7aff2ac..dc154324968 100644 --- a/cub/cub/agent/agent_segmented_radix_sort.cuh +++ b/cub/cub/agent/agent_segmented_radix_sort.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/agent/agent_select_if.cuh b/cub/cub/agent/agent_select_if.cuh index 00afd5aeffd..7a17414b681 100644 --- a/cub/cub/agent/agent_select_if.cuh +++ b/cub/cub/agent/agent_select_if.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -627,15 +629,15 @@ struct AgentSelectIf /** - * @brief Process first tile of input (dynamic chained scan). + * @brief Process first tile of input (dynamic chained scan). * - * @param num_tile_items + * @param num_tile_items * Number of input items comprising this tile * - * @param tile_offset + * @param tile_offset * Tile offset * - * @param tile_state + * @param tile_state * Global tile state descriptor * * @return The running count of selections (including this tile) @@ -775,7 +777,7 @@ struct AgentSelectIf * @param num_tile_items * Number of input items comprising this tile * - * @param tile_idx + * @param tile_idx * Tile index * * @param tile_offset diff --git a/cub/cub/agent/agent_spmv_orig.cuh b/cub/cub/agent/agent_spmv_orig.cuh index 61f410821de..bac6a92b6fb 100644 --- a/cub/cub/agent/agent_spmv_orig.cuh +++ b/cub/cub/agent/agent_spmv_orig.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/agent/agent_sub_warp_merge_sort.cuh b/cub/cub/agent/agent_sub_warp_merge_sort.cuh index 40e0f004854..21048e38b80 100644 --- a/cub/cub/agent/agent_sub_warp_merge_sort.cuh +++ b/cub/cub/agent/agent_sub_warp_merge_sort.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/agent/agent_three_way_partition.cuh b/cub/cub/agent/agent_three_way_partition.cuh index 5439ac4bda8..977bbc68fdf 100644 --- a/cub/cub/agent/agent_three_way_partition.cuh +++ b/cub/cub/agent/agent_three_way_partition.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/agent/agent_unique_by_key.cuh b/cub/cub/agent/agent_unique_by_key.cuh index ef59b51a78c..78de998897e 100644 --- a/cub/cub/agent/agent_unique_by_key.cuh +++ b/cub/cub/agent/agent_unique_by_key.cuh @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -440,7 +442,7 @@ struct AgentUniqueByKey } /** - * @brief Process subsequent tile of input (dynamic chained scan). + * @brief Process subsequent tile of input (dynamic chained scan). * * @param num_tile_items * Number of input items comprising this tile diff --git a/cub/cub/agent/single_pass_scan_operators.cuh b/cub/cub/agent/single_pass_scan_operators.cuh index d7acc6b9c21..c8a5761a991 100644 --- a/cub/cub/agent/single_pass_scan_operators.cuh +++ b/cub/cub/agent/single_pass_scan_operators.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include @@ -732,13 +734,13 @@ struct ScanTileState size_t allocation_sizes[3]; // bytes needed for tile status descriptors - allocation_sizes[0] = (num_tiles + TILE_STATUS_PADDING) * sizeof(StatusWord); + allocation_sizes[0] = (num_tiles + TILE_STATUS_PADDING) * sizeof(StatusWord); // bytes needed for partials - allocation_sizes[1] = (num_tiles + TILE_STATUS_PADDING) * sizeof(Uninitialized); + allocation_sizes[1] = (num_tiles + TILE_STATUS_PADDING) * sizeof(Uninitialized); // bytes needed for inclusives - allocation_sizes[2] = (num_tiles + TILE_STATUS_PADDING) * sizeof(Uninitialized); + allocation_sizes[2] = (num_tiles + TILE_STATUS_PADDING) * sizeof(Uninitialized); // Compute allocation pointers into the single storage blob error = CubDebug( @@ -775,13 +777,13 @@ struct ScanTileState size_t allocation_sizes[3]; // bytes needed for tile status descriptors - allocation_sizes[0] = (num_tiles + TILE_STATUS_PADDING) * sizeof(StatusWord); + allocation_sizes[0] = (num_tiles + TILE_STATUS_PADDING) * sizeof(StatusWord); // bytes needed for partials - allocation_sizes[1] = (num_tiles + TILE_STATUS_PADDING) * sizeof(Uninitialized); + allocation_sizes[1] = (num_tiles + TILE_STATUS_PADDING) * sizeof(Uninitialized); // bytes needed for inclusives - allocation_sizes[2] = (num_tiles + TILE_STATUS_PADDING) * sizeof(Uninitialized); + allocation_sizes[2] = (num_tiles + TILE_STATUS_PADDING) * sizeof(Uninitialized); // Set the necessary size of the blob void* allocations[3] = {}; diff --git a/cub/cub/block/block_adjacent_difference.cuh b/cub/cub/block/block_adjacent_difference.cuh index 85c918c211b..a2a5017d537 100644 --- a/cub/cub/block/block_adjacent_difference.cuh +++ b/cub/cub/block/block_adjacent_difference.cuh @@ -37,11 +37,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/block/block_discontinuity.cuh b/cub/cub/block/block_discontinuity.cuh index 8cff3d3792d..2f628ebb779 100644 --- a/cub/cub/block/block_discontinuity.cuh +++ b/cub/cub/block/block_discontinuity.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -445,13 +447,13 @@ public: * if a discontinuity exists between \p a and \p b, otherwise \p false. \p b_index is the rank * of b in the aggregate tile of data. * - * @param[out] head_flags + * @param[out] head_flags * Calling thread's discontinuity head_flags * - * @param[in] input + * @param[in] input * Calling thread's input items * - * @param[in] flag_op + * @param[in] flag_op * Binary boolean flag predicate */ template diff --git a/cub/cub/block/block_exchange.cuh b/cub/cub/block/block_exchange.cuh index 627b928d8c6..c99b9eba84d 100644 --- a/cub/cub/block/block_exchange.cuh +++ b/cub/cub/block/block_exchange.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -241,10 +243,10 @@ private: * @brief Transposes data items from blocked arrangement to striped * arrangement. Specialized for warp-timeslicing. * - * @param[in] input_items + * @param[in] input_items * Items to exchange, converting between blocked and striped arrangements. * - * @param[out] output_items + * @param[out] output_items * Items to exchange, converting between blocked and striped arrangements. */ template diff --git a/cub/cub/block/block_histogram.cuh b/cub/cub/block/block_histogram.cuh index e0536772011..1ef84dc5a20 100644 --- a/cub/cub/block/block_histogram.cuh +++ b/cub/cub/block/block_histogram.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -318,7 +320,7 @@ public: * * @endcode * - * @tparam CounterT + * @tparam CounterT * [inferred] Histogram counter type */ template @@ -340,7 +342,7 @@ public: } /** - * @brief Constructs a block-wide histogram in shared/device-accessible memory. + * @brief Constructs a block-wide histogram in shared/device-accessible memory. * Each thread contributes an array of input elements. * * @par diff --git a/cub/cub/block/block_load.cuh b/cub/cub/block/block_load.cuh index 7bba01bcd7f..dd2f43a07f1 100644 --- a/cub/cub/block/block_load.cuh +++ b/cub/cub/block/block_load.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -160,7 +162,7 @@ __device__ __forceinline__ void LoadDirectBlocked(int linear_tid, * [inferred] The random-access iterator type for input \iterator. * * @param[in] linear_tid - * A suitable 1D thread-identifier for the calling thread + * A suitable 1D thread-identifier for the calling thread * (e.g., (threadIdx.y * blockDim.x) + linear_tid for 2D thread blocks) * * @param[in] block_itr @@ -196,7 +198,7 @@ __device__ __forceinline__ void LoadDirectBlocked(int linear_tid, * @brief Internal implementation for load vectorization * * @param[in] linear_tid - * A suitable 1D thread-identifier for the calling thread + * A suitable 1D thread-identifier for the calling thread * (e.g., (threadIdx.y * blockDim.x) + linear_tid for 2D thread blocks) * * @param[in] block_ptr @@ -314,7 +316,7 @@ __device__ __forceinline__ void LoadDirectBlockedVectorized(int linear_tid, * [inferred] The random-access iterator type for input \iterator. * * @param[in] linear_tid - * A suitable 1D thread-identifier for the calling thread + * A suitable 1D thread-identifier for the calling thread * (e.g., (threadIdx.y * blockDim.x) + linear_tid for 2D thread blocks) * * @param[in] block_itr @@ -401,7 +403,7 @@ __device__ __forceinline__ void LoadDirectStriped(int linear_tid, * [inferred] The random-access iterator type for input \iterator. * * @param[in] linear_tid - * A suitable 1D thread-identifier for the calling thread + * A suitable 1D thread-identifier for the calling thread * (e.g., (threadIdx.y * blockDim.x) + linear_tid for 2D thread blocks) * * @param[in] block_itr @@ -505,7 +507,7 @@ __device__ __forceinline__ void LoadDirectWarpStriped(int linear_tid, * [inferred] The random-access iterator type for input \iterator. * * @param[in] linear_tid - * A suitable 1D thread-identifier for the calling thread + * A suitable 1D thread-identifier for the calling thread * (e.g., (threadIdx.y * blockDim.x) + linear_tid for 2D thread blocks) * * @param[in] block_itr @@ -557,7 +559,7 @@ __device__ __forceinline__ void LoadDirectWarpStriped(int linear_tid, * [inferred] The random-access iterator type for input \iterator. * * @param[in] linear_tid - * A suitable 1D thread-identifier for the calling thread + * A suitable 1D thread-identifier for the calling thread * (e.g., (threadIdx.y * blockDim.x) + linear_tid for 2D thread blocks) * * @param[in] block_itr @@ -709,39 +711,39 @@ enum BlockLoadAlgorithm /** - * @brief The BlockLoad class provides [collective](index.html#sec0) - * data movement methods for loading a linear segment of items from memory - * into a [blocked arrangement](index.html#sec5sec3) across a + * @brief The BlockLoad class provides [collective](index.html#sec0) + * data movement methods for loading a linear segment of items from memory + * into a [blocked arrangement](index.html#sec5sec3) across a * CUDA thread block. ![](block_load_logo.png) * * @ingroup BlockModule * * @ingroup UtilIo * - * @tparam InputT + * @tparam InputT * The data type to read into (which must be convertible from the input iterator's value type). * - * @tparam BLOCK_DIM_X + * @tparam BLOCK_DIM_X * The thread block length in threads along the X dimension * - * @tparam ITEMS_PER_THREAD + * @tparam ITEMS_PER_THREAD * The number of consecutive items partitioned onto each thread. * - * @tparam ALGORITHM + * @tparam ALGORITHM * [optional] cub::BlockLoadAlgorithm tuning policy. default: cub::BLOCK_LOAD_DIRECT. * - * @tparam WARP_TIME_SLICING - * [optional] Whether or not only one warp's worth of shared memory should be - * allocated and time-sliced among block-warps during any load-related data transpositions + * @tparam WARP_TIME_SLICING + * [optional] Whether or not only one warp's worth of shared memory should be + * allocated and time-sliced among block-warps during any load-related data transpositions * (versus each warp having its own storage). (default: false) * - * @tparam BLOCK_DIM_Y + * @tparam BLOCK_DIM_Y * [optional] The thread block length in threads along the Y dimension (default: 1) * - * @tparam BLOCK_DIM_Z + * @tparam BLOCK_DIM_Z * [optional] The thread block length in threads along the Z dimension (default: 1) * - * @tparam LEGACY_PTX_ARCH + * @tparam LEGACY_PTX_ARCH * [optional] Unused. * * @par Overview diff --git a/cub/cub/block/block_merge_sort.cuh b/cub/cub/block/block_merge_sort.cuh index d5dcc89ff77..5f85b553d71 100644 --- a/cub/cub/block/block_merge_sort.cuh +++ b/cub/cub/block/block_merge_sort.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/block/block_radix_rank.cuh b/cub/cub/block/block_radix_rank.cuh index 8ee6713b6b3..993a8c723b3 100644 --- a/cub/cub/block/block_radix_rank.cuh +++ b/cub/cub/block/block_radix_rank.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -163,7 +165,7 @@ struct warp_in_block_matcher_t * @tparam BLOCK_DIM_Z * [optional] The thread block length in threads along the Z dimension (default: 1) * - * @tparam LEGACY_PTX_ARCH + * @tparam LEGACY_PTX_ARCH * [optional] Unused. * * @par Overview @@ -259,7 +261,7 @@ private: LOG_PACKING_RATIO = Log2::VALUE, // Always at least one lane - LOG_COUNTER_LANES = CUB_MAX((int(RADIX_BITS) - int(LOG_PACKING_RATIO)), 0), + LOG_COUNTER_LANES = CUB_MAX((int(RADIX_BITS) - int(LOG_PACKING_RATIO)), 0), COUNTER_LANES = 1 << LOG_COUNTER_LANES, // The number of packed counters per thread (plus one for padding) @@ -559,8 +561,8 @@ public: * * @param[out] exclusive_digit_prefix * The exclusive prefix sum for the digits - * [(threadIdx.x * BINS_TRACKED_PER_THREAD) - * ... + * [(threadIdx.x * BINS_TRACKED_PER_THREAD) + * ... * (threadIdx.x * BINS_TRACKED_PER_THREAD) + BINS_TRACKED_PER_THREAD - 1] */ template @@ -721,7 +723,7 @@ public: *********************************************************************/ //@{ - /** + /** * @brief Computes the count of keys for each digit value, and calls the * callback with the array of key counts. * diff --git a/cub/cub/block/block_radix_sort.cuh b/cub/cub/block/block_radix_sort.cuh index 2f58f9630de..d107ce4f823 100644 --- a/cub/cub/block/block_radix_sort.cuh +++ b/cub/cub/block/block_radix_sort.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -977,7 +979,7 @@ public: } /** - * @brief Performs a descending block-wide radix sort over a + * @brief Performs a descending block-wide radix sort over a * [blocked arrangement](index.html#sec5sec3) of keys. * * @par diff --git a/cub/cub/block/block_raking_layout.cuh b/cub/cub/block/block_raking_layout.cuh index 005cf4a1516..3a97e8792a0 100644 --- a/cub/cub/block/block_raking_layout.cuh +++ b/cub/cub/block/block_raking_layout.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include @@ -59,13 +61,13 @@ CUB_NAMESPACE_BEGIN * sequences of shared items. Padding is inserted to eliminate bank conflicts * (for most data types). * - * @tparam T + * @tparam T * The data type to be exchanged. * - * @tparam BLOCK_THREADS + * @tparam BLOCK_THREADS * The thread block size in threads. * - * @tparam LEGACY_PTX_ARCH + * @tparam LEGACY_PTX_ARCH * [optional] Unused. */ template < diff --git a/cub/cub/block/block_reduce.cuh b/cub/cub/block/block_reduce.cuh index b63971c9c03..afc163da49e 100644 --- a/cub/cub/block/block_reduce.cuh +++ b/cub/cub/block/block_reduce.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/block/block_run_length_decode.cuh b/cub/cub/block/block_run_length_decode.cuh index 00503b8fd02..42dbb6192a0 100644 --- a/cub/cub/block/block_run_length_decode.cuh +++ b/cub/cub/block/block_run_length_decode.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -114,8 +116,8 @@ CUB_NAMESPACE_BEGIN * Suppose the set of input @p run_values across the block of threads is * { [0, 1], [2, 3], [4, 5], [6, 7], ..., [254, 255] } and * @p run_lengths is { [1, 2], [3, 4], [5, 1], [2, 3], ..., [5, 1] }. - * The corresponding output @p decoded_items in those threads will be - * { [0, 1, 1, 2], [2, 2, 3, 3], [3, 3, 4, 4], [4, 4, 4, 5], ..., [169, 169, 170, 171] } + * The corresponding output @p decoded_items in those threads will be + * { [0, 1, 1, 2], [2, 2, 3, 3], [3, 3, 4, 4], [4, 4, 4, 5], ..., [169, 169, 170, 171] } * and @p relative_offsets will be * { [0, 0, 1, 0], [1, 2, 0, 1], [2, 3, 0, 1], [2, 3, 4, 0], ..., [3, 4, 0, 0] } during the * first iteration of the while loop. @@ -136,10 +138,10 @@ CUB_NAMESPACE_BEGIN * Type used to index into the block's decoded items (large enough to hold the sum over all the * runs' lengths) * - * @tparam BLOCK_DIM_Y + * @tparam BLOCK_DIM_Y * The thread block length in threads along the Y dimension * - * @tparam BLOCK_DIM_Z + * @tparam BLOCK_DIM_Z * The thread block length in threads along the Z dimension */ template -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -118,28 +120,28 @@ enum BlockScanAlgorithm ******************************************************************************/ /** - * @brief The BlockScan class provides [collective](index.html#sec0) methods for - * computing a parallel prefix sum/scan of items partitioned across a + * @brief The BlockScan class provides [collective](index.html#sec0) methods for + * computing a parallel prefix sum/scan of items partitioned across a * CUDA thread block. ![](block_scan_logo.png) * * @ingroup BlockModule * - * @tparam T + * @tparam T * Data type being scanned * - * @tparam BLOCK_DIM_X + * @tparam BLOCK_DIM_X * The thread block length in threads along the X dimension * - * @tparam ALGORITHM + * @tparam ALGORITHM * [optional] cub::BlockScanAlgorithm enumerator specifying the underlying algorithm to use (default: cub::BLOCK_SCAN_RAKING) * - * @tparam BLOCK_DIM_Y + * @tparam BLOCK_DIM_Y * [optional] The thread block length in threads along the Y dimension (default: 1) * - * @tparam BLOCK_DIM_Z + * @tparam BLOCK_DIM_Z * [optional] The thread block length in threads along the Z dimension (default: 1) * - * @tparam LEGACY_PTX_ARCH + * @tparam LEGACY_PTX_ARCH * [optional] Unused. * * @par Overview @@ -152,14 +154,14 @@ enum BlockScanAlgorithm * the ith output reduction. * - \rowmajor * - BlockScan can be optionally specialized by algorithm to accommodate different workload profiles: - * -# cub::BLOCK_SCAN_RAKING. - * An efficient (high throughput) "raking reduce-then-scan" prefix scan algorithm. + * -# cub::BLOCK_SCAN_RAKING. + * An efficient (high throughput) "raking reduce-then-scan" prefix scan algorithm. * [More...](\ref cub::BlockScanAlgorithm) - * -# cub::BLOCK_SCAN_RAKING_MEMOIZE. - * Similar to cub::BLOCK_SCAN_RAKING, but having higher throughput at the expense of additional + * -# cub::BLOCK_SCAN_RAKING_MEMOIZE. + * Similar to cub::BLOCK_SCAN_RAKING, but having higher throughput at the expense of additional * register pressure for intermediate storage. [More...](\ref cub::BlockScanAlgorithm) - * -# cub::BLOCK_SCAN_WARP_SCANS. - * A quick (low latency) "tiled warpscans" prefix scan algorithm. + * -# cub::BLOCK_SCAN_WARP_SCANS. + * A quick (low latency) "tiled warpscans" prefix scan algorithm. * [More...](\ref cub::BlockScanAlgorithm) * * @par Performance Considerations @@ -934,7 +936,7 @@ public: * the call-back functor @p block_prefix_callback_op is invoked by the first warp * in the block, and the value returned by lane0 in that warp * is used as the "seed" value that logically prefixes the thread block's scan - * inputs. Also provides every thread with the block-wide @p block_aggregate of + * inputs. Also provides every thread with the block-wide @p block_aggregate of * all inputs. * * @par diff --git a/cub/cub/block/block_shuffle.cuh b/cub/cub/block/block_shuffle.cuh index 887749d668a..84f618ab066 100644 --- a/cub/cub/block/block_shuffle.cuh +++ b/cub/cub/block/block_shuffle.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -48,24 +50,24 @@ _CCCL_IMPLICIT_SYSTEM_HEADER CUB_NAMESPACE_BEGIN /** - * @brief The BlockShuffle class provides [collective](index.html#sec0) + * @brief The BlockShuffle class provides [collective](index.html#sec0) * methods for shuffling data partitioned across a CUDA thread block. * * @ingroup BlockModule * - * @tparam T + * @tparam T * The data type to be exchanged. * - * @tparam BLOCK_DIM_X + * @tparam BLOCK_DIM_X * The thread block length in threads along the X dimension * - * @tparam BLOCK_DIM_Y + * @tparam BLOCK_DIM_Y * [optional] The thread block length in threads along the Y dimension (default: 1) * - * @tparam BLOCK_DIM_Z + * @tparam BLOCK_DIM_Z * [optional] The thread block length in threads along the Z dimension (default: 1) * - * @tparam LEGACY_PTX_ARCH + * @tparam LEGACY_PTX_ARCH * [optional] Unused. * * @par Overview @@ -144,7 +146,7 @@ public: //@{ /** - * @brief Collective constructor using a private static allocation of + * @brief Collective constructor using a private static allocation of * shared memory as temporary storage. */ __device__ __forceinline__ BlockShuffle() diff --git a/cub/cub/block/block_store.cuh b/cub/cub/block/block_store.cuh index d29babcd92b..d8965285c7c 100644 --- a/cub/cub/block/block_store.cuh +++ b/cub/cub/block/block_store.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -228,7 +230,7 @@ __device__ __forceinline__ void StoreDirectBlockedVectorized(int linear_tid, //@{ /** - * @brief Store a striped arrangement of data across the thread block into a + * @brief Store a striped arrangement of data across the thread block into a * linear segment of items. * * @striped @@ -347,7 +349,7 @@ __device__ __forceinline__ void StoreDirectStriped(int linear_tid, * [inferred] The random-access iterator type for output \iterator. * * @param[in] linear_tid - * A suitable 1D thread-identifier for the calling thread + * A suitable 1D thread-identifier for the calling thread * (e.g., (threadIdx.y * blockDim.x) + linear_tid for 2D thread blocks) * * @param[in] block_itr @@ -394,7 +396,7 @@ __device__ __forceinline__ void StoreDirectWarpStriped(int linear_tid, * [inferred] The random-access iterator type for output \iterator. * * @param[in] linear_tid - * A suitable 1D thread-identifier for the calling thread + * A suitable 1D thread-identifier for the calling thread * (e.g., (threadIdx.y * blockDim.x) + linear_tid for 2D thread blocks) * * @param[in] block_itr @@ -485,7 +487,7 @@ enum BlockStoreAlgorithm * - @p ITEMS_PER_THREAD is odd * - The @p OutputIteratorT is not a simple pointer type * - The block output offset is not quadword-aligned - * - The data type @p T is not a built-in primitive or CUDA vector type + * - The data type @p T is not a built-in primitive or CUDA vector type * (e.g., @p short, @p int2, @p double, @p float2, etc.) */ BLOCK_STORE_VECTORIZE, @@ -493,7 +495,7 @@ enum BlockStoreAlgorithm /** * @par Overview * A [blocked arrangement](index.html#sec5sec3) is locally - * transposed and then efficiently written to memory as a + * transposed and then efficiently written to memory as a * [striped arrangement](index.html#sec5sec3). * * @par Performance Considerations @@ -543,35 +545,35 @@ enum BlockStoreAlgorithm /** - * @brief The BlockStore class provides [collective](index.html#sec0) data movement - * methods for writing a [blocked arrangement](index.html#sec5sec3) of items - * partitioned across a CUDA thread block to a linear segment of memory. + * @brief The BlockStore class provides [collective](index.html#sec0) data movement + * methods for writing a [blocked arrangement](index.html#sec5sec3) of items + * partitioned across a CUDA thread block to a linear segment of memory. * ![](block_store_logo.png) * * @ingroup BlockModule * * @ingroup UtilIo * - * @tparam T + * @tparam T * The type of data to be written. * - * @tparam BLOCK_DIM_X + * @tparam BLOCK_DIM_X * The thread block length in threads along the X dimension * - * @tparam ITEMS_PER_THREAD + * @tparam ITEMS_PER_THREAD * The number of consecutive items partitioned onto each thread. * - * @tparam ALGORITHM - * [optional] cub::BlockStoreAlgorithm tuning policy enumeration. + * @tparam ALGORITHM + * [optional] cub::BlockStoreAlgorithm tuning policy enumeration. * default: cub::BLOCK_STORE_DIRECT. * - * @tparam BLOCK_DIM_Y + * @tparam BLOCK_DIM_Y * [optional] The thread block length in threads along the Y dimension (default: 1) * - * @tparam BLOCK_DIM_Z + * @tparam BLOCK_DIM_Z * [optional] The thread block length in threads along the Z dimension (default: 1) * - * @tparam LEGACY_PTX_ARCH + * @tparam LEGACY_PTX_ARCH * [optional] Unused. * * @par Overview @@ -932,9 +934,9 @@ private: BlockExchange(temp_storage).BlockedToStriped(items); if (linear_tid == 0) { - // Move through volatile smem as a workaround to prevent RF spilling on + // Move through volatile smem as a workaround to prevent RF spilling on // subsequent loads - temp_storage.valid_items = valid_items; + temp_storage.valid_items = valid_items; } CTA_SYNC(); StoreDirectStriped(linear_tid, block_itr, items, temp_storage.valid_items); @@ -1021,7 +1023,7 @@ private: BlockExchange(temp_storage).BlockedToWarpStriped(items); if (linear_tid == 0) { - // Move through volatile smem as a workaround to prevent RF spilling on + // Move through volatile smem as a workaround to prevent RF spilling on // subsequent loads temp_storage.valid_items = valid_items; } diff --git a/cub/cub/block/radix_rank_sort_operations.cuh b/cub/cub/block/radix_rank_sort_operations.cuh index 300e1058c29..b8d089d18f5 100644 --- a/cub/cub/block/radix_rank_sort_operations.cuh +++ b/cub/cub/block/radix_rank_sort_operations.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/block/specializations/block_histogram_atomic.cuh b/cub/cub/block/specializations/block_histogram_atomic.cuh index 48b38df9969..326f1051ada 100644 --- a/cub/cub/block/specializations/block_histogram_atomic.cuh +++ b/cub/cub/block/specializations/block_histogram_atomic.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header CUB_NAMESPACE_BEGIN diff --git a/cub/cub/block/specializations/block_histogram_sort.cuh b/cub/cub/block/specializations/block_histogram_sort.cuh index 02f072802d7..29b28686e93 100644 --- a/cub/cub/block/specializations/block_histogram_sort.cuh +++ b/cub/cub/block/specializations/block_histogram_sort.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/block/specializations/block_reduce_raking.cuh b/cub/cub/block/specializations/block_reduce_raking.cuh index 5a75a788f46..cb03ca554e2 100644 --- a/cub/cub/block/specializations/block_reduce_raking.cuh +++ b/cub/cub/block/specializations/block_reduce_raking.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/block/specializations/block_reduce_raking_commutative_only.cuh b/cub/cub/block/specializations/block_reduce_raking_commutative_only.cuh index 9e633e4f4c2..74f426e920b 100644 --- a/cub/cub/block/specializations/block_reduce_raking_commutative_only.cuh +++ b/cub/cub/block/specializations/block_reduce_raking_commutative_only.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/block/specializations/block_reduce_warp_reductions.cuh b/cub/cub/block/specializations/block_reduce_warp_reductions.cuh index 4d6792c21e7..94628cdb296 100644 --- a/cub/cub/block/specializations/block_reduce_warp_reductions.cuh +++ b/cub/cub/block/specializations/block_reduce_warp_reductions.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/block/specializations/block_scan_raking.cuh b/cub/cub/block/specializations/block_scan_raking.cuh index 0753a1d0a7e..2e424d794ea 100644 --- a/cub/cub/block/specializations/block_scan_raking.cuh +++ b/cub/cub/block/specializations/block_scan_raking.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/block/specializations/block_scan_warp_scans.cuh b/cub/cub/block/specializations/block_scan_warp_scans.cuh index 5bc1f373163..739a57ed30c 100644 --- a/cub/cub/block/specializations/block_scan_warp_scans.cuh +++ b/cub/cub/block/specializations/block_scan_warp_scans.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/config.cuh b/cub/cub/config.cuh index 9f7aa35e37b..f7f25ddef02 100644 --- a/cub/cub/config.cuh +++ b/cub/cub/config.cuh @@ -35,11 +35,13 @@ // For _CCCL_IMPLICIT_SYSTEM_HEADER #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/cub.cuh b/cub/cub/cub.cuh index 6ce4a20e78f..73136a6077d 100644 --- a/cub/cub/cub.cuh +++ b/cub/cub/cub.cuh @@ -36,11 +36,13 @@ // Static configuration #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // Block #include diff --git a/cub/cub/detail/choose_offset.cuh b/cub/cub/detail/choose_offset.cuh index 1d1a87793be..dc1de5fe5da 100644 --- a/cub/cub/detail/choose_offset.cuh +++ b/cub/cub/detail/choose_offset.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/cub/cub/detail/cpp_compatibility.cuh b/cub/cub/detail/cpp_compatibility.cuh index f0c8be6cd25..54c6418fcc5 100644 --- a/cub/cub/detail/cpp_compatibility.cuh +++ b/cub/cub/detail/cpp_compatibility.cuh @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if CUB_CPP_DIALECT >= 2017 && __cpp_if_constexpr # define CUB_IF_CONSTEXPR if constexpr diff --git a/cub/cub/detail/detect_cuda_runtime.cuh b/cub/cub/detail/detect_cuda_runtime.cuh index 0707182bb96..00d6aab23c3 100644 --- a/cub/cub/detail/detect_cuda_runtime.cuh +++ b/cub/cub/detail/detect_cuda_runtime.cuh @@ -36,11 +36,13 @@ // We cannot use `cub/config.cuh` here due to circular dependencies #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/cub/cub/detail/device_double_buffer.cuh b/cub/cub/detail/device_double_buffer.cuh index d42f60c7f30..28220d89d63 100644 --- a/cub/cub/detail/device_double_buffer.cuh +++ b/cub/cub/detail/device_double_buffer.cuh @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/cub/cub/detail/device_synchronize.cuh b/cub/cub/detail/device_synchronize.cuh index a827bf65678..bcc37fb1532 100644 --- a/cub/cub/detail/device_synchronize.cuh +++ b/cub/cub/detail/device_synchronize.cuh @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/detail/exec_check_disable.cuh b/cub/cub/detail/exec_check_disable.cuh index 3377a749ca6..1a037658058 100644 --- a/cub/cub/detail/exec_check_disable.cuh +++ b/cub/cub/detail/exec_check_disable.cuh @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header /** * @def CUB_EXEC_CHECK_DISABLE diff --git a/cub/cub/detail/strong_load.cuh b/cub/cub/detail/strong_load.cuh index 3541d09eaa0..39165926ab6 100644 --- a/cub/cub/detail/strong_load.cuh +++ b/cub/cub/detail/strong_load.cuh @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/detail/strong_store.cuh b/cub/cub/detail/strong_store.cuh index 5485282cfab..7f560792a1b 100644 --- a/cub/cub/detail/strong_store.cuh +++ b/cub/cub/detail/strong_store.cuh @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/detail/temporary_storage.cuh b/cub/cub/detail/temporary_storage.cuh index 6e44ed4ab77..bc13e3b57a1 100644 --- a/cub/cub/detail/temporary_storage.cuh +++ b/cub/cub/detail/temporary_storage.cuh @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/detail/type_traits.cuh b/cub/cub/detail/type_traits.cuh index 3a71b33eba7..46bc0598de6 100644 --- a/cub/cub/detail/type_traits.cuh +++ b/cub/cub/detail/type_traits.cuh @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/detail/uninitialized_copy.cuh b/cub/cub/detail/uninitialized_copy.cuh index ca2379710a9..93987b4af0f 100644 --- a/cub/cub/detail/uninitialized_copy.cuh +++ b/cub/cub/detail/uninitialized_copy.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/cub/cub/device/device_adjacent_difference.cuh b/cub/cub/device/device_adjacent_difference.cuh index 0a1817755f1..cffdb5e1533 100644 --- a/cub/cub/device/device_adjacent_difference.cuh +++ b/cub/cub/device/device_adjacent_difference.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/device_copy.cuh b/cub/cub/device/device_copy.cuh index 769cc463b2f..f6c9151f4ae 100644 --- a/cub/cub/device/device_copy.cuh +++ b/cub/cub/device/device_copy.cuh @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/cub/cub/device/device_histogram.cuh b/cub/cub/device/device_histogram.cuh index ff938a791de..8047a1a4634 100644 --- a/cub/cub/device/device_histogram.cuh +++ b/cub/cub/device/device_histogram.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/device_memcpy.cuh b/cub/cub/device/device_memcpy.cuh index aef5bfc189d..2263d7cd188 100644 --- a/cub/cub/device/device_memcpy.cuh +++ b/cub/cub/device/device_memcpy.cuh @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/cub/cub/device/device_merge_sort.cuh b/cub/cub/device/device_merge_sort.cuh index ced2895fc9b..84ef2b3d2f0 100644 --- a/cub/cub/device/device_merge_sort.cuh +++ b/cub/cub/device/device_merge_sort.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/device_partition.cuh b/cub/cub/device/device_partition.cuh index 39d17c7b99e..ee3721f70fd 100644 --- a/cub/cub/device/device_partition.cuh +++ b/cub/cub/device/device_partition.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/device_radix_sort.cuh b/cub/cub/device/device_radix_sort.cuh index 498c71635d9..6506a42282e 100644 --- a/cub/cub/device/device_radix_sort.cuh +++ b/cub/cub/device/device_radix_sort.cuh @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/device_reduce.cuh b/cub/cub/device/device_reduce.cuh index b01fa5d0ba7..cba7b2dbfc3 100644 --- a/cub/cub/device/device_reduce.cuh +++ b/cub/cub/device/device_reduce.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/device_run_length_encode.cuh b/cub/cub/device/device_run_length_encode.cuh index a750757e386..7bef9d35718 100644 --- a/cub/cub/device/device_run_length_encode.cuh +++ b/cub/cub/device/device_run_length_encode.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/device_scan.cuh b/cub/cub/device/device_scan.cuh index 0d21c0f6594..3624d7511c6 100644 --- a/cub/cub/device/device_scan.cuh +++ b/cub/cub/device/device_scan.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/device_segmented_radix_sort.cuh b/cub/cub/device/device_segmented_radix_sort.cuh index 34f6b3f2688..3636165fffd 100644 --- a/cub/cub/device/device_segmented_radix_sort.cuh +++ b/cub/cub/device/device_segmented_radix_sort.cuh @@ -37,11 +37,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/device_segmented_reduce.cuh b/cub/cub/device/device_segmented_reduce.cuh index 3950fbf06c9..a227a2f1e9a 100644 --- a/cub/cub/device/device_segmented_reduce.cuh +++ b/cub/cub/device/device_segmented_reduce.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/device_segmented_sort.cuh b/cub/cub/device/device_segmented_sort.cuh index 045508d9cde..a08d538b75e 100644 --- a/cub/cub/device/device_segmented_sort.cuh +++ b/cub/cub/device/device_segmented_sort.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/device_select.cuh b/cub/cub/device/device_select.cuh index 602fe4a1fc1..48b68962931 100644 --- a/cub/cub/device/device_select.cuh +++ b/cub/cub/device/device_select.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/device_spmv.cuh b/cub/cub/device/device_spmv.cuh index f776d9bd30d..04ee5334a9f 100644 --- a/cub/cub/device/device_spmv.cuh +++ b/cub/cub/device/device_spmv.cuh @@ -37,11 +37,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -55,7 +57,7 @@ CUB_NAMESPACE_BEGIN /** - * @brief DeviceSpmv provides device-wide parallel operations for performing + * @brief DeviceSpmv provides device-wide parallel operations for performing * sparse-matrix * dense-vector multiplication (SpMV). * * @ingroup SingleModule diff --git a/cub/cub/device/dispatch/dispatch_adjacent_difference.cuh b/cub/cub/device/dispatch/dispatch_adjacent_difference.cuh index e219968510b..b932efbfe2f 100644 --- a/cub/cub/device/dispatch/dispatch_adjacent_difference.cuh +++ b/cub/cub/device/dispatch/dispatch_adjacent_difference.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/dispatch_batch_memcpy.cuh b/cub/cub/device/dispatch/dispatch_batch_memcpy.cuh index 0dee9b3853e..16bd05db817 100644 --- a/cub/cub/device/dispatch/dispatch_batch_memcpy.cuh +++ b/cub/cub/device/dispatch/dispatch_batch_memcpy.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/dispatch_histogram.cuh b/cub/cub/device/dispatch/dispatch_histogram.cuh index 9d7547de719..6678c2cf873 100644 --- a/cub/cub/device/dispatch/dispatch_histogram.cuh +++ b/cub/cub/device/dispatch/dispatch_histogram.cuh @@ -37,11 +37,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/dispatch_merge_sort.cuh b/cub/cub/device/dispatch/dispatch_merge_sort.cuh index a08cb77e068..d3c54272a6f 100644 --- a/cub/cub/device/dispatch/dispatch_merge_sort.cuh +++ b/cub/cub/device/dispatch/dispatch_merge_sort.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/dispatch_radix_sort.cuh b/cub/cub/device/dispatch/dispatch_radix_sort.cuh index 59b2576b6c6..fe0554c932f 100644 --- a/cub/cub/device/dispatch/dispatch_radix_sort.cuh +++ b/cub/cub/device/dispatch/dispatch_radix_sort.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -2104,13 +2106,13 @@ struct DispatchRadixSort : SelectedPolicy size_t allocation_sizes[3] = { // bytes needed for privatized block digit histograms - spine_length * sizeof(OffsetT), + spine_length * sizeof(OffsetT), // bytes needed for 3rd keys buffer - (is_overwrite_okay) ? 0 : num_items * sizeof(KeyT), + (is_overwrite_okay) ? 0 : num_items * sizeof(KeyT), // bytes needed for 3rd values buffer - (is_overwrite_okay || (KEYS_ONLY)) ? 0 : num_items * sizeof(ValueT), + (is_overwrite_okay || (KEYS_ONLY)) ? 0 : num_items * sizeof(ValueT), }; // Alias the temporary allocations from the single storage blob (or compute the necessary size of the blob) @@ -2736,10 +2738,10 @@ struct DispatchSegmentedRadixSort : SelectedPolicy size_t allocation_sizes[2] = { // bytes needed for 3rd keys buffer - (is_overwrite_okay) ? 0 : num_items * sizeof(KeyT), + (is_overwrite_okay) ? 0 : num_items * sizeof(KeyT), // bytes needed for 3rd values buffer - (is_overwrite_okay || (KEYS_ONLY)) ? 0 : num_items * sizeof(ValueT), + (is_overwrite_okay || (KEYS_ONLY)) ? 0 : num_items * sizeof(ValueT), }; // Alias the temporary allocations from the single storage blob (or compute the necessary size of the blob) @@ -2887,8 +2889,8 @@ struct DispatchSegmentedRadixSort : SelectedPolicy * @param[in] d_end_offsets * Random-access input iterator to the sequence of ending offsets of length @p num_segments, * such that d_end_offsets[i]-1 is the last element of the ith - * data segment in d_keys_* and d_values_*. - * If d_end_offsets[i]-1 <= d_begin_offsets[i], + * data segment in d_keys_* and d_values_*. + * If d_end_offsets[i]-1 <= d_begin_offsets[i], * the ith is considered empty. * * @param[in] begin_bit diff --git a/cub/cub/device/dispatch/dispatch_reduce.cuh b/cub/cub/device/dispatch/dispatch_reduce.cuh index 80e09bff09e..280f7d4cd80 100644 --- a/cub/cub/device/dispatch/dispatch_reduce.cuh +++ b/cub/cub/device/dispatch/dispatch_reduce.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/dispatch_reduce_by_key.cuh b/cub/cub/device/dispatch/dispatch_reduce_by_key.cuh index ccb9836acfd..08184ee5223 100644 --- a/cub/cub/device/dispatch/dispatch_reduce_by_key.cuh +++ b/cub/cub/device/dispatch/dispatch_reduce_by_key.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/dispatch_rle.cuh b/cub/cub/device/dispatch/dispatch_rle.cuh index 6d4460f2640..8717792ee89 100644 --- a/cub/cub/device/dispatch/dispatch_rle.cuh +++ b/cub/cub/device/dispatch/dispatch_rle.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/dispatch_scan.cuh b/cub/cub/device/dispatch/dispatch_scan.cuh index 2b225097d57..9f4e1bc29d2 100644 --- a/cub/cub/device/dispatch/dispatch_scan.cuh +++ b/cub/cub/device/dispatch/dispatch_scan.cuh @@ -37,11 +37,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/dispatch_scan_by_key.cuh b/cub/cub/device/dispatch/dispatch_scan_by_key.cuh index afa81a15f94..5b48af436c3 100644 --- a/cub/cub/device/dispatch/dispatch_scan_by_key.cuh +++ b/cub/cub/device/dispatch/dispatch_scan_by_key.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/dispatch_segmented_sort.cuh b/cub/cub/device/dispatch/dispatch_segmented_sort.cuh index f99f97edf66..f4dfae06ef6 100644 --- a/cub/cub/device/dispatch/dispatch_segmented_sort.cuh +++ b/cub/cub/device/dispatch/dispatch_segmented_sort.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/dispatch_select_if.cuh b/cub/cub/device/dispatch/dispatch_select_if.cuh index 95b11b49316..7122a16dc83 100644 --- a/cub/cub/device/dispatch/dispatch_select_if.cuh +++ b/cub/cub/device/dispatch/dispatch_select_if.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/dispatch_spmv_orig.cuh b/cub/cub/device/dispatch/dispatch_spmv_orig.cuh index 8c1c5eb9d6c..a891f5a2733 100644 --- a/cub/cub/device/dispatch/dispatch_spmv_orig.cuh +++ b/cub/cub/device/dispatch/dispatch_spmv_orig.cuh @@ -37,11 +37,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/dispatch_three_way_partition.cuh b/cub/cub/device/dispatch/dispatch_three_way_partition.cuh index 1f50389a596..43bf3342239 100644 --- a/cub/cub/device/dispatch/dispatch_three_way_partition.cuh +++ b/cub/cub/device/dispatch/dispatch_three_way_partition.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/dispatch_unique_by_key.cuh b/cub/cub/device/dispatch/dispatch_unique_by_key.cuh index ccefaaeafbe..2bf2760299d 100644 --- a/cub/cub/device/dispatch/dispatch_unique_by_key.cuh +++ b/cub/cub/device/dispatch/dispatch_unique_by_key.cuh @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -227,7 +229,7 @@ struct DispatchUniqueByKey : SelectedPolicy /// Pointer to the output sequence of selected data items ValueOutputIteratorT d_values_out; - /// Pointer to the total number of items selected + /// Pointer to the total number of items selected /// (i.e., length of @p d_keys_out or @p d_values_out) NumSelectedIteratorT d_num_selected_out; @@ -300,16 +302,16 @@ struct DispatchUniqueByKey : SelectedPolicy CUB_DETAIL_RUNTIME_DEBUG_SYNC_IS_NOT_SUPPORTED CUB_RUNTIME_FUNCTION __forceinline__ DispatchUniqueByKey( - void* d_temp_storage, - size_t& temp_storage_bytes, - KeyInputIteratorT d_keys_in, - ValueInputIteratorT d_values_in, - KeyOutputIteratorT d_keys_out, - ValueOutputIteratorT d_values_out, - NumSelectedIteratorT d_num_selected_out, - EqualityOpT equality_op, - OffsetT num_items, - cudaStream_t stream, + void* d_temp_storage, + size_t& temp_storage_bytes, + KeyInputIteratorT d_keys_in, + ValueInputIteratorT d_values_in, + KeyOutputIteratorT d_keys_out, + ValueOutputIteratorT d_values_out, + NumSelectedIteratorT d_num_selected_out, + EqualityOpT equality_op, + OffsetT num_items, + cudaStream_t stream, bool debug_synchronous ): d_temp_storage(d_temp_storage), @@ -386,7 +388,7 @@ struct DispatchUniqueByKey : SelectedPolicy error = CubDebug( AliasTemporaries(d_temp_storage, temp_storage_bytes, allocations, allocation_sizes)); - if (cudaSuccess != error) + if (cudaSuccess != error) { break; } @@ -420,7 +422,7 @@ struct DispatchUniqueByKey : SelectedPolicy // Check for failure to launch error = CubDebug(cudaPeekAtLastError()); - if (cudaSuccess != error) + if (cudaSuccess != error) { break; } @@ -439,7 +441,7 @@ struct DispatchUniqueByKey : SelectedPolicy int max_dim_x; error = CubDebug(cudaDeviceGetAttribute(&max_dim_x, cudaDevAttrMaxGridDimX, device_ordinal)); - if (cudaSuccess != error) + if (cudaSuccess != error) { break; } @@ -587,7 +589,7 @@ struct DispatchUniqueByKey : SelectedPolicy // Get PTX version int ptx_version = 0; error = CubDebug(PtxVersion(ptx_version)); - if (cudaSuccess != error) + if (cudaSuccess != error) { break; } @@ -607,7 +609,7 @@ struct DispatchUniqueByKey : SelectedPolicy // Dispatch to chained policy error = CubDebug(MaxPolicyT::Invoke(ptx_version, dispatch)); - if (cudaSuccess != error) + if (cudaSuccess != error) { break; } @@ -620,17 +622,17 @@ struct DispatchUniqueByKey : SelectedPolicy CUB_DETAIL_RUNTIME_DEBUG_SYNC_IS_NOT_SUPPORTED CUB_RUNTIME_FUNCTION __forceinline__ static cudaError_t Dispatch( - void* d_temp_storage, - size_t &temp_storage_bytes, - KeyInputIteratorT d_keys_in, - ValueInputIteratorT d_values_in, - KeyOutputIteratorT d_keys_out, - ValueOutputIteratorT d_values_out, - NumSelectedIteratorT d_num_selected_out, - EqualityOpT equality_op, - OffsetT num_items, - cudaStream_t stream, - bool debug_synchronous) + void* d_temp_storage, + size_t &temp_storage_bytes, + KeyInputIteratorT d_keys_in, + ValueInputIteratorT d_values_in, + KeyOutputIteratorT d_keys_out, + ValueOutputIteratorT d_values_out, + NumSelectedIteratorT d_num_selected_out, + EqualityOpT equality_op, + OffsetT num_items, + cudaStream_t stream, + bool debug_synchronous) { CUB_DETAIL_RUNTIME_DEBUG_SYNC_USAGE_LOG diff --git a/cub/cub/device/dispatch/tuning/tuning_histogram.cuh b/cub/cub/device/dispatch/tuning/tuning_histogram.cuh index a87887e2ac4..1b263802317 100644 --- a/cub/cub/device/dispatch/tuning/tuning_histogram.cuh +++ b/cub/cub/device/dispatch/tuning/tuning_histogram.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/tuning/tuning_reduce_by_key.cuh b/cub/cub/device/dispatch/tuning/tuning_reduce_by_key.cuh index 9d4c8fcaca2..95d896ec652 100644 --- a/cub/cub/device/dispatch/tuning/tuning_reduce_by_key.cuh +++ b/cub/cub/device/dispatch/tuning/tuning_reduce_by_key.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/tuning/tuning_run_length_encode.cuh b/cub/cub/device/dispatch/tuning/tuning_run_length_encode.cuh index ec5039e54e6..db4bafd5bd8 100644 --- a/cub/cub/device/dispatch/tuning/tuning_run_length_encode.cuh +++ b/cub/cub/device/dispatch/tuning/tuning_run_length_encode.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/tuning/tuning_scan.cuh b/cub/cub/device/dispatch/tuning/tuning_scan.cuh index 4f591f949bb..8654ab072ff 100644 --- a/cub/cub/device/dispatch/tuning/tuning_scan.cuh +++ b/cub/cub/device/dispatch/tuning/tuning_scan.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/tuning/tuning_scan_by_key.cuh b/cub/cub/device/dispatch/tuning/tuning_scan_by_key.cuh index 562c64d2737..8c58ac848d3 100644 --- a/cub/cub/device/dispatch/tuning/tuning_scan_by_key.cuh +++ b/cub/cub/device/dispatch/tuning/tuning_scan_by_key.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/tuning/tuning_select_if.cuh b/cub/cub/device/dispatch/tuning/tuning_select_if.cuh index 74d7ecd2b8e..41612d2fa98 100644 --- a/cub/cub/device/dispatch/tuning/tuning_select_if.cuh +++ b/cub/cub/device/dispatch/tuning/tuning_select_if.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/tuning/tuning_three_way_partition.cuh b/cub/cub/device/dispatch/tuning/tuning_three_way_partition.cuh index 1015f3ed824..bb59c1be03a 100644 --- a/cub/cub/device/dispatch/tuning/tuning_three_way_partition.cuh +++ b/cub/cub/device/dispatch/tuning/tuning_three_way_partition.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/device/dispatch/tuning/tuning_unique_by_key.cuh b/cub/cub/device/dispatch/tuning/tuning_unique_by_key.cuh index 8f1097b6c30..fb01ad93a5f 100644 --- a/cub/cub/device/dispatch/tuning/tuning_unique_by_key.cuh +++ b/cub/cub/device/dispatch/tuning/tuning_unique_by_key.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/grid/grid_barrier.cuh b/cub/cub/grid/grid_barrier.cuh index 599b66daa8e..21b4895396f 100644 --- a/cub/cub/grid/grid_barrier.cuh +++ b/cub/cub/grid/grid_barrier.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/grid/grid_even_share.cuh b/cub/cub/grid/grid_even_share.cuh index 50c3f0b26b2..30bba4bc286 100644 --- a/cub/cub/grid/grid_even_share.cuh +++ b/cub/cub/grid/grid_even_share.cuh @@ -37,11 +37,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/grid/grid_mapping.cuh b/cub/cub/grid/grid_mapping.cuh index a5b2a0a833b..d9e019539c1 100644 --- a/cub/cub/grid/grid_mapping.cuh +++ b/cub/cub/grid/grid_mapping.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header CUB_NAMESPACE_BEGIN diff --git a/cub/cub/grid/grid_queue.cuh b/cub/cub/grid/grid_queue.cuh index e4e75e4713b..55cfecaa2f6 100644 --- a/cub/cub/grid/grid_queue.cuh +++ b/cub/cub/grid/grid_queue.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include @@ -150,7 +152,7 @@ public: return result; } - /// This operation resets the drain so that it may advance to meet the existing fill-size. + /// This operation resets the drain so that it may advance to meet the existing fill-size. /// To be called by the host or by a kernel prior to that which will be draining. __host__ __device__ __forceinline__ cudaError_t ResetDrain(cudaStream_t stream = 0) { @@ -169,7 +171,7 @@ public: } - /// This operation resets the fill counter. + /// This operation resets the fill counter. /// To be called by the host or by a kernel prior to that which will be filling. __host__ __device__ __forceinline__ cudaError_t ResetFill(cudaStream_t stream = 0) { @@ -208,7 +210,7 @@ public: } - /// Drain @p num_items from the queue. Returns offset from which to read items. + /// Drain @p num_items from the queue. Returns offset from which to read items. /// To be called from CUDA kernel. __device__ __forceinline__ OffsetT Drain(OffsetT num_items) { @@ -216,7 +218,7 @@ public: } - /// Fill @p num_items into the queue. Returns offset from which to write items. + /// Fill @p num_items into the queue. Returns offset from which to write items. /// To be called from CUDA kernel. __device__ __forceinline__ OffsetT Fill(OffsetT num_items) { diff --git a/cub/cub/host/mutex.cuh b/cub/cub/host/mutex.cuh index b16e73c3ca7..5ff3b59ec48 100644 --- a/cub/cub/host/mutex.cuh +++ b/cub/cub/host/mutex.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/cub/cub/iterator/arg_index_input_iterator.cuh b/cub/cub/iterator/arg_index_input_iterator.cuh index 028c81211b1..b561ccd488d 100644 --- a/cub/cub/iterator/arg_index_input_iterator.cuh +++ b/cub/cub/iterator/arg_index_input_iterator.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -147,10 +149,10 @@ public: THRUST_NS_QUALIFIER::random_access_traversal_tag, value_type, reference - >::type iterator_category; + >::type iterator_category; #else /// The iterator category - typedef std::random_access_iterator_tag iterator_category; + typedef std::random_access_iterator_tag iterator_category; #endif // THRUST_VERSION private: @@ -161,10 +163,10 @@ private: public: /** - * @param itr + * @param itr * Input iterator to wrap * - * @param offset + * @param offset * OffsetT (in items) from @p itr denoting the position of the iterator */ __host__ __device__ __forceinline__ ArgIndexInputIterator(InputIteratorT itr, diff --git a/cub/cub/iterator/cache_modified_input_iterator.cuh b/cub/cub/iterator/cache_modified_input_iterator.cuh index e325274bb29..0ec095fc337 100644 --- a/cub/cub/iterator/cache_modified_input_iterator.cuh +++ b/cub/cub/iterator/cache_modified_input_iterator.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -98,13 +100,13 @@ CUB_NAMESPACE_BEGIN * * @endcode * - * @tparam CacheLoadModifier + * @tparam CacheLoadModifier * The cub::CacheLoadModifier to use when accessing data * - * @tparam ValueType + * @tparam ValueType * The value type of this iterator * - * @tparam OffsetT + * @tparam OffsetT * The difference type of this iterator (Default: @p ptrdiff_t) */ template < @@ -141,10 +143,10 @@ public: THRUST_NS_QUALIFIER::random_access_traversal_tag, value_type, reference - >::type iterator_category; + >::type iterator_category; #else /// The iterator category - typedef std::random_access_iterator_tag iterator_category; + typedef std::random_access_iterator_tag iterator_category; #endif // THRUST_VERSION diff --git a/cub/cub/iterator/cache_modified_output_iterator.cuh b/cub/cub/iterator/cache_modified_output_iterator.cuh index ab6c4ca6c60..ee78b9a6953 100644 --- a/cub/cub/iterator/cache_modified_output_iterator.cuh +++ b/cub/cub/iterator/cache_modified_output_iterator.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -100,13 +102,13 @@ CUB_NAMESPACE_BEGIN * @par Usage Considerations * - Can only be dereferenced within device code * - * @tparam CacheStoreModifier + * @tparam CacheStoreModifier * The cub::CacheStoreModifier to use when accessing data * - * @tparam ValueType + * @tparam ValueType * The value type of this iterator * - * @tparam OffsetT + * @tparam OffsetT * The difference type of this iterator (Default: @p ptrdiff_t) */ template < @@ -161,10 +163,10 @@ public: THRUST_NS_QUALIFIER::random_access_traversal_tag, value_type, reference - >::type iterator_category; + >::type iterator_category; #else /// The iterator category - typedef std::random_access_iterator_tag iterator_category; + typedef std::random_access_iterator_tag iterator_category; #endif // THRUST_VERSION private: diff --git a/cub/cub/iterator/constant_input_iterator.cuh b/cub/cub/iterator/constant_input_iterator.cuh index 5adfaef4709..bf6dc1bfdca 100644 --- a/cub/cub/iterator/constant_input_iterator.cuh +++ b/cub/cub/iterator/constant_input_iterator.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -90,10 +92,10 @@ CUB_NAMESPACE_BEGIN * * @endcode * - * @tparam ValueType + * @tparam ValueType * The value type of this iterator * - * @tparam OffsetT + * @tparam OffsetT * The difference type of this iterator (Default: @p ptrdiff_t) */ template < @@ -129,10 +131,10 @@ public: THRUST_NS_QUALIFIER::random_access_traversal_tag, value_type, reference - >::type iterator_category; + >::type iterator_category; #else /// The iterator category - typedef std::random_access_iterator_tag iterator_category; + typedef std::random_access_iterator_tag iterator_category; #endif // THRUST_VERSION private: @@ -141,7 +143,7 @@ private: OffsetT offset; #ifdef _WIN32 // Workaround for win32 parameter-passing bug (ulonglong2 argmin DeviceReduce) - OffsetT pad[CUB_MAX(1, (16 / sizeof(OffsetT) - 1))]; + OffsetT pad[CUB_MAX(1, (16 / sizeof(OffsetT) - 1))]; #endif public: diff --git a/cub/cub/iterator/counting_input_iterator.cuh b/cub/cub/iterator/counting_input_iterator.cuh index dd515976f20..7c85c5fc81e 100644 --- a/cub/cub/iterator/counting_input_iterator.cuh +++ b/cub/cub/iterator/counting_input_iterator.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -87,10 +89,10 @@ CUB_NAMESPACE_BEGIN * * @endcode * - * @tparam ValueType + * @tparam ValueType * The value type of this iterator * - * @tparam OffsetT + * @tparam OffsetT * The difference type of this iterator (Default: @p ptrdiff_t) */ template < @@ -126,10 +128,10 @@ public: THRUST_NS_QUALIFIER::random_access_traversal_tag, value_type, reference - >::type iterator_category; + >::type iterator_category; #else /// The iterator category - typedef std::random_access_iterator_tag iterator_category; + typedef std::random_access_iterator_tag iterator_category; #endif // THRUST_VERSION private: diff --git a/cub/cub/iterator/discard_output_iterator.cuh b/cub/cub/iterator/discard_output_iterator.cuh index 4e49b52384f..c25f5a6e490 100644 --- a/cub/cub/iterator/discard_output_iterator.cuh +++ b/cub/cub/iterator/discard_output_iterator.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -94,10 +96,10 @@ public: THRUST_NS_QUALIFIER::random_access_traversal_tag, value_type, reference - >::type iterator_category; + >::type iterator_category; #else /// The iterator category - typedef std::random_access_iterator_tag iterator_category; + typedef std::random_access_iterator_tag iterator_category; #endif // THRUST_VERSION private: diff --git a/cub/cub/iterator/tex_obj_input_iterator.cuh b/cub/cub/iterator/tex_obj_input_iterator.cuh index 2aec0473e7c..f5324458d92 100644 --- a/cub/cub/iterator/tex_obj_input_iterator.cuh +++ b/cub/cub/iterator/tex_obj_input_iterator.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -67,7 +69,7 @@ CUB_NAMESPACE_BEGIN /** - * @brief A random-access input wrapper for dereferencing array values through texture cache. + * @brief A random-access input wrapper for dereferencing array values through texture cache. * Uses newer Kepler-style texture objects. * * @par Overview @@ -107,10 +109,10 @@ CUB_NAMESPACE_BEGIN * * @endcode * - * @tparam T + * @tparam T * The value type of this iterator * - * @tparam OffsetT + * @tparam OffsetT * The difference type of this iterator (Default: @p ptrdiff_t) */ template < @@ -139,17 +141,17 @@ public: #if (THRUST_VERSION >= 100700) // Use Thrust's iterator categories so we can use these iterators in Thrust 1.7 (or newer) methods - + /// The iterator category typedef typename THRUST_NS_QUALIFIER::detail::iterator_facade_category< THRUST_NS_QUALIFIER::device_system_tag, THRUST_NS_QUALIFIER::random_access_traversal_tag, value_type, reference - >::type iterator_category; + >::type iterator_category; #else /// The iterator category - typedef std::random_access_iterator_tag iterator_category; + typedef std::random_access_iterator_tag iterator_category; #endif // THRUST_VERSION private: diff --git a/cub/cub/iterator/tex_ref_input_iterator.cuh b/cub/cub/iterator/tex_ref_input_iterator.cuh index 2efa4219bb6..18cf46bb96d 100644 --- a/cub/cub/iterator/tex_ref_input_iterator.cuh +++ b/cub/cub/iterator/tex_ref_input_iterator.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include @@ -100,13 +102,13 @@ CUB_NAMESPACE_BEGIN * * @endcode * - * @tparam T + * @tparam T * The value type of this iterator * - * @tparam UNIQUE_ID + * @tparam UNIQUE_ID * A globally-unique identifier (within the compilation unit) to name the underlying texture reference * - * @tparam OffsetT + * @tparam OffsetT * The difference type of this iterator (Default: @p ptrdiff_t) */ template < diff --git a/cub/cub/iterator/transform_input_iterator.cuh b/cub/cub/iterator/transform_input_iterator.cuh index 908cf8ab8f2..7ce36f17411 100644 --- a/cub/cub/iterator/transform_input_iterator.cuh +++ b/cub/cub/iterator/transform_input_iterator.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -66,7 +68,7 @@ CUB_NAMESPACE_BEGIN * @brief A random-access input wrapper for transforming dereferenced values. * * @par Overview - * - TransformInputIteratorTwraps a unary conversion functor of type + * - TransformInputIteratorTwraps a unary conversion functor of type * @p ConversionOp and a random-access input iterator of type InputIteratorT, * using the former to produce references of type @p ValueType from the latter. * - Can be used with any data type. @@ -105,17 +107,17 @@ CUB_NAMESPACE_BEGIN * * @endcode * - * @tparam ValueType + * @tparam ValueType * The value type of this iterator * - * @tparam ConversionOp - * Unary functor type for mapping objects of type @p InputType to type @p ValueType. + * @tparam ConversionOp + * Unary functor type for mapping objects of type @p InputType to type @p ValueType. * Must have member ValueType operator()(const InputType &datum). * - * @tparam InputIteratorT + * @tparam InputIteratorT * The type of the wrapped input iterator * - * @tparam OffsetT + * @tparam OffsetT * The difference type of this iterator (Default: @p ptrdiff_t) */ template < @@ -153,10 +155,10 @@ public: THRUST_NS_QUALIFIER::random_access_traversal_tag, value_type, reference - >::type iterator_category; + >::type iterator_category; #else /// The iterator category - typedef std::random_access_iterator_tag iterator_category; + typedef std::random_access_iterator_tag iterator_category; #endif // THRUST_VERSION private: diff --git a/cub/cub/thread/thread_load.cuh b/cub/cub/thread/thread_load.cuh index 059dca6689f..674b713f0ce 100644 --- a/cub/cub/thread/thread_load.cuh +++ b/cub/cub/thread/thread_load.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -77,7 +79,7 @@ enum CacheLoadModifier */ /** - * @brief Thread utility for reading memory using cub::CacheLoadModifier cache modifiers. + * @brief Thread utility for reading memory using cub::CacheLoadModifier cache modifiers. * Can be used to load any data type. * * @par Example @@ -102,10 +104,10 @@ enum CacheLoadModifier * TestFoo val = cub::ThreadLoad(d_in + threadIdx.x); * \endcode * - * @tparam MODIFIER + * @tparam MODIFIER * [inferred] CacheLoadModifier enumeration * - * @tparam InputIteratorT + * @tparam InputIteratorT * [inferred] Input iterator type \iterator */ template /*is_primitive*/) { // Word type for memcopying - typedef typename UnitWord::VolatileWord VolatileWord; + typedef typename UnitWord::VolatileWord VolatileWord; constexpr int VOLATILE_MULTIPLE = sizeof(T) / sizeof(VolatileWord); diff --git a/cub/cub/thread/thread_operators.cuh b/cub/cub/thread/thread_operators.cuh index f3b460f89cd..c9d521190e4 100644 --- a/cub/cub/thread/thread_operators.cuh +++ b/cub/cub/thread/thread_operators.cuh @@ -39,11 +39,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/thread/thread_reduce.cuh b/cub/cub/thread/thread_reduce.cuh index 2285258afbb..ae19d20aa1d 100644 --- a/cub/cub/thread/thread_reduce.cuh +++ b/cub/cub/thread/thread_reduce.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/thread/thread_scan.cuh b/cub/cub/thread/thread_scan.cuh index a28a2d0ae44..271d14c78a9 100644 --- a/cub/cub/thread/thread_scan.cuh +++ b/cub/cub/thread/thread_scan.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include @@ -60,13 +62,13 @@ namespace internal { */ /** - * @param[in] input + * @param[in] input * Input array * - * @param[out] output + * @param[out] output * Output array (may be aliased to @p input) * - * @param[in] scan_op + * @param[in] scan_op * Binary scan operator */ template diff --git a/cub/cub/thread/thread_search.cuh b/cub/cub/thread/thread_search.cuh index feb33ecb8a3..529d8977ef8 100644 --- a/cub/cub/thread/thread_search.cuh +++ b/cub/cub/thread/thread_search.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/thread/thread_sort.cuh b/cub/cub/thread/thread_sort.cuh index 6f88d089b82..0075ff7132b 100644 --- a/cub/cub/thread/thread_sort.cuh +++ b/cub/cub/thread/thread_sort.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/thread/thread_store.cuh b/cub/cub/thread/thread_store.cuh index da720700c08..fc8b3beb41b 100644 --- a/cub/cub/thread/thread_store.cuh +++ b/cub/cub/thread/thread_store.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/util_allocator.cuh b/cub/cub/util_allocator.cuh index 1692bac8f7e..135e8f8cf20 100644 --- a/cub/cub/util_allocator.cuh +++ b/cub/cub/util_allocator.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/util_arch.cuh b/cub/cub/util_arch.cuh index 2c30804569d..8756a4a896d 100644 --- a/cub/cub/util_arch.cuh +++ b/cub/cub/util_arch.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/util_compiler.cuh b/cub/cub/util_compiler.cuh index 3286c07db43..7de9323f072 100644 --- a/cub/cub/util_compiler.cuh +++ b/cub/cub/util_compiler.cuh @@ -35,11 +35,13 @@ // For _CCCL_IMPLICIT_SYSTEM_HEADER #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // enumerate host compilers we know about #define CUB_HOST_COMPILER_UNKNOWN 0 diff --git a/cub/cub/util_cpp_dialect.cuh b/cub/cub/util_cpp_dialect.cuh index 7c22fd3274b..44b6f573229 100644 --- a/cub/cub/util_cpp_dialect.cuh +++ b/cub/cub/util_cpp_dialect.cuh @@ -33,11 +33,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/cub/cub/util_debug.cuh b/cub/cub/util_debug.cuh index f65da123632..f40cd242f0d 100644 --- a/cub/cub/util_debug.cuh +++ b/cub/cub/util_debug.cuh @@ -38,11 +38,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/cub/cub/util_deprecated.cuh b/cub/cub/util_deprecated.cuh index 269ff687c27..8bdce3a15fa 100644 --- a/cub/cub/util_deprecated.cuh +++ b/cub/cub/util_deprecated.cuh @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/util_device.cuh b/cub/cub/util_device.cuh index 06d35247c79..888feeee26b 100644 --- a/cub/cub/util_device.cuh +++ b/cub/cub/util_device.cuh @@ -39,11 +39,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/cub/cub/util_macro.cuh b/cub/cub/util_macro.cuh index bb8dec13939..df2b3cd2ff5 100644 --- a/cub/cub/util_macro.cuh +++ b/cub/cub/util_macro.cuh @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/util_math.cuh b/cub/cub/util_math.cuh index 0de4e857029..ab0bcf5d82f 100644 --- a/cub/cub/util_math.cuh +++ b/cub/cub/util_math.cuh @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/cub/cub/util_namespace.cuh b/cub/cub/util_namespace.cuh index 01cc0e66f56..b834ca2cf42 100644 --- a/cub/cub/util_namespace.cuh +++ b/cub/cub/util_namespace.cuh @@ -40,11 +40,13 @@ // version.cuh. #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/cub/cub/util_ptx.cuh b/cub/cub/util_ptx.cuh index a92dc38da52..b725b0646b0 100644 --- a/cub/cub/util_ptx.cuh +++ b/cub/cub/util_ptx.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/util_temporary_storage.cuh b/cub/cub/util_temporary_storage.cuh index 8fb41499788..22020c3fbd2 100644 --- a/cub/cub/util_temporary_storage.cuh +++ b/cub/cub/util_temporary_storage.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/util_type.cuh b/cub/cub/util_type.cuh index 68def328b47..fbb957845eb 100644 --- a/cub/cub/util_type.cuh +++ b/cub/cub/util_type.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/version.cuh b/cub/cub/version.cuh index fdbfb641486..f53ba3faf7d 100644 --- a/cub/cub/version.cuh +++ b/cub/cub/version.cuh @@ -38,11 +38,13 @@ // For _CCCL_IMPLICIT_SYSTEM_HEADER #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/cub/cub/warp/specializations/warp_exchange_shfl.cuh b/cub/cub/warp/specializations/warp_exchange_shfl.cuh index 67c1d805d64..487d1dced9b 100644 --- a/cub/cub/warp/specializations/warp_exchange_shfl.cuh +++ b/cub/cub/warp/specializations/warp_exchange_shfl.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/warp/specializations/warp_exchange_smem.cuh b/cub/cub/warp/specializations/warp_exchange_smem.cuh index a04c73ef22f..2c563bfddf7 100644 --- a/cub/cub/warp/specializations/warp_exchange_smem.cuh +++ b/cub/cub/warp/specializations/warp_exchange_smem.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/warp/specializations/warp_reduce_shfl.cuh b/cub/cub/warp/specializations/warp_reduce_shfl.cuh index 8df2feacc7b..2195105ae62 100644 --- a/cub/cub/warp/specializations/warp_reduce_shfl.cuh +++ b/cub/cub/warp/specializations/warp_reduce_shfl.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -357,7 +359,7 @@ struct WarpReduceShfl } /** - * @brief Reduction (specialized for swizzled ReduceByKeyOp across + * @brief Reduction (specialized for swizzled ReduceByKeyOp across * KeyValuePair types) * * @param[in] input @@ -490,7 +492,7 @@ struct WarpReduceShfl } /** - * @brief Reduction step (specialized for types other than small unsigned integers size + * @brief Reduction step (specialized for types other than small unsigned integers size * 32b or less) * * @param[in] input diff --git a/cub/cub/warp/specializations/warp_reduce_smem.cuh b/cub/cub/warp/specializations/warp_reduce_smem.cuh index ac7b7bbcca0..338b520627a 100644 --- a/cub/cub/warp/specializations/warp_reduce_smem.cuh +++ b/cub/cub/warp/specializations/warp_reduce_smem.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/warp/specializations/warp_scan_shfl.cuh b/cub/cub/warp/specializations/warp_scan_shfl.cuh index be5a4487c8c..fed427f1237 100644 --- a/cub/cub/warp/specializations/warp_scan_shfl.cuh +++ b/cub/cub/warp/specializations/warp_scan_shfl.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include @@ -433,7 +435,7 @@ struct WarpScanShfl } /** - * @brief Inclusive prefix scan step (specialized for types other than small integers size + * @brief Inclusive prefix scan step (specialized for types other than small integers size * 32b or less) * * @param[in] input diff --git a/cub/cub/warp/specializations/warp_scan_smem.cuh b/cub/cub/warp/specializations/warp_scan_smem.cuh index eed49287ae5..8f1b1ac1fff 100644 --- a/cub/cub/warp/specializations/warp_scan_smem.cuh +++ b/cub/cub/warp/specializations/warp_scan_smem.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/warp/warp_exchange.cuh b/cub/cub/warp/warp_exchange.cuh index af57342647e..e603ed8d367 100644 --- a/cub/cub/warp/warp_exchange.cuh +++ b/cub/cub/warp/warp_exchange.cuh @@ -35,11 +35,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/warp/warp_load.cuh b/cub/cub/warp/warp_load.cuh index 9af6de4887f..d2665ac6dc1 100644 --- a/cub/cub/warp/warp_load.cuh +++ b/cub/cub/warp/warp_load.cuh @@ -31,11 +31,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/warp/warp_merge_sort.cuh b/cub/cub/warp/warp_merge_sort.cuh index ab5fcda9a35..af900f539f4 100644 --- a/cub/cub/warp/warp_merge_sort.cuh +++ b/cub/cub/warp/warp_merge_sort.cuh @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/warp/warp_reduce.cuh b/cub/cub/warp/warp_reduce.cuh index c9734891579..578e4aeffcb 100644 --- a/cub/cub/warp/warp_reduce.cuh +++ b/cub/cub/warp/warp_reduce.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/warp/warp_scan.cuh b/cub/cub/warp/warp_scan.cuh index 1016b5e9443..ea8fe9823ab 100644 --- a/cub/cub/warp/warp_scan.cuh +++ b/cub/cub/warp/warp_scan.cuh @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/cub/cub/warp/warp_store.cuh b/cub/cub/warp/warp_store.cuh index 6b92b9332a2..5df5cc7cf2c 100644 --- a/cub/cub/warp/warp_store.cuh +++ b/cub/cub/warp/warp_store.cuh @@ -31,11 +31,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/libcudacxx/.upstream-tests/utils/generate_feature_test_macro_components.py b/libcudacxx/.upstream-tests/utils/generate_feature_test_macro_components.py index a0530a2de50..c9cf2f46d83 100755 --- a/libcudacxx/.upstream-tests/utils/generate_feature_test_macro_components.py +++ b/libcudacxx/.upstream-tests/utils/generate_feature_test_macro_components.py @@ -722,11 +722,13 @@ def produce_version_header(): #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if _LIBCUDACXX_STD_VER > 11 {cxx14_macros} diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/adjacent_find.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/adjacent_find.h index ac142a99e9e..27989e71ac5 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/adjacent_find.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/adjacent_find.h @@ -16,11 +16,13 @@ #include "../__algorithm/comp.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/all_of.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/all_of.h index 664c0eab7e9..1cab01248ae 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/all_of.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/all_of.h @@ -14,11 +14,13 @@ # include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/any_of.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/any_of.h index ad644423234..a759de8c841 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/any_of.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/any_of.h @@ -14,11 +14,13 @@ # include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/comp.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/comp.h index 3ca410d724a..b9f761bb486 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/comp.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/comp.h @@ -19,11 +19,13 @@ # include "../__type_traits/predicate_traits.h" #endif // _LIBCUDACXX_HAS_STRING -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD struct __equal_to diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/comp_ref_type.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/comp_ref_type.h index 3efa780c818..4c1b181b0d6 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/comp_ref_type.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/comp_ref_type.h @@ -17,11 +17,13 @@ #include "../__debug" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/count.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/count.h index 8f0019040c0..9438333bd02 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/count.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/count.h @@ -16,11 +16,13 @@ #include "../__iterator/iterator_traits.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/count_if.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/count_if.h index a1c7f0c8d69..a806b629047 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/count_if.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/count_if.h @@ -16,11 +16,13 @@ #include "../__iterator/iterator_traits.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/equal.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/equal.h index 6830bed4a36..a48b2b40dcf 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/equal.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/equal.h @@ -19,11 +19,13 @@ #include "../__iterator/iterator_traits.h" #include "../__type_traits/add_lvalue_reference.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/fill.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/fill.h index ceea7f3c5c4..17686d92e7f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/fill.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/fill.h @@ -17,11 +17,13 @@ #include "../__algorithm/fill_n.h" #include "../__iterator/iterator_traits.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/fill_n.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/fill_n.h index 0e895a12449..df51d3fcd09 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/fill_n.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/fill_n.h @@ -17,11 +17,13 @@ #include "../__iterator/iterator_traits.h" #include "../__utility/convert_to_integral.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find.h index 21f0216e92b..f11c77e09fd 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find.h @@ -16,11 +16,13 @@ #include "../__functional/invoke.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD // generic implementation diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_end.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_end.h index f20d1815375..7fe3ef3ff5f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_end.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_end.h @@ -17,11 +17,13 @@ #include "../__iterator/iterator_traits.h" #include "../__type_traits/add_lvalue_reference.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_first_of.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_first_of.h index 015ab323200..aca9b676350 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_first_of.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_first_of.h @@ -16,11 +16,13 @@ #include "../__algorithm/comp.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_if.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_if.h index b235ef9643c..e9f059eb412 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_if.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_if.h @@ -14,11 +14,13 @@ # include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_if_not.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_if_not.h index 039cafcd71e..502261e48d8 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_if_not.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/find_if_not.h @@ -14,11 +14,13 @@ # include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/for_each.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/for_each.h index e4fba6d86c8..3cd3205d205 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/for_each.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/for_each.h @@ -14,11 +14,13 @@ # include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/for_each_n.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/for_each_n.h index d7978d089b4..bf99224cddf 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/for_each_n.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/for_each_n.h @@ -16,11 +16,13 @@ #include "../__utility/convert_to_integral.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/half_positive.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/half_positive.h index 6462d39cd93..e0cc931fb83 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/half_positive.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/half_positive.h @@ -18,11 +18,13 @@ #include "../__type_traits/is_integral.h" #include "../__type_traits/make_unsigned.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD // Perform division by two quickly for positive integers (llvm.org/PR39129) diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/is_permutation.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/is_permutation.h index 2c4f9812e6e..fb7a8df439a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/is_permutation.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/is_permutation.h @@ -20,11 +20,13 @@ #include "../__iterator/next.h" #include "../__type_traits/add_lvalue_reference.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/lexicographical_compare.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/lexicographical_compare.h index 59bcbfdda49..dc23c3c7025 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/lexicographical_compare.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/lexicographical_compare.h @@ -18,11 +18,13 @@ #include "../__algorithm/comp_ref_type.h" #include "../__iterator/iterator_traits.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/mismatch.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/mismatch.h index 744a7305fb7..e5644b6810a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/mismatch.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/mismatch.h @@ -18,11 +18,13 @@ #include "../__iterator/iterator_traits.h" #include "../__utility/pair.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/none_of.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/none_of.h index 6680611b131..070f2b7f8f9 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/none_of.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/none_of.h @@ -14,11 +14,13 @@ # include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/search.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/search.h index e4b82973c7a..4549c93551b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/search.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/search.h @@ -24,11 +24,13 @@ #include "../__type_traits/enable_if.h" #include "../__utility/pair.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/search_n.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/search_n.h index 2d41176501b..0e1be82d524 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/search_n.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/search_n.h @@ -19,11 +19,13 @@ #include "../__type_traits/add_lvalue_reference.h" #include "../__utility/convert_to_integral.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD template diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/swap_ranges.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/swap_ranges.h index 5c99fefe3f1..e4f92e3e085 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/swap_ranges.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/swap_ranges.h @@ -17,11 +17,13 @@ #include "../__utility/swap.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/unwrap_iter.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/unwrap_iter.h index 3cb4832fcd9..d537edc0633 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/unwrap_iter.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__algorithm/unwrap_iter.h @@ -22,11 +22,13 @@ #include "../__utility/declval.h" #include "../__utility/move.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD // TODO: Change the name of __unwrap_iter_impl to something more appropriate diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__assert b/libcudacxx/include/cuda/std/detail/libcxx/include/__assert index 7d8d58f3eb2..3a1e0e4fe5c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__assert +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__assert @@ -17,11 +17,13 @@ #include "__verbose_abort" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // This is for backwards compatibility with code that might have been enabling // assertions through the Debug mode previously. diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__availability b/libcudacxx/include/cuda/std/detail/libcxx/include/__availability index b90ebf1f278..1331d660025 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__availability +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__availability @@ -15,11 +15,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // Libc++ is shipped by various vendors. In particular, it is used as a system // library on macOS, iOS and other Apple platforms. In order for users to be diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__bit_reference b/libcudacxx/include/cuda/std/detail/libcxx/include/__bit_reference index 84411dfacda..14377c0b1bc 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__bit_reference +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__bit_reference @@ -14,11 +14,13 @@ #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__bsd_locale_defaults.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__bsd_locale_defaults.h index 71ed40cff60..128c049b38b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__bsd_locale_defaults.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__bsd_locale_defaults.h @@ -14,11 +14,13 @@ #ifndef _LIBCUDACXX_BSD_LOCALE_DEFAULTS_H #define _LIBCUDACXX_BSD_LOCALE_DEFAULTS_H -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #define __libcpp_mb_cur_max_l(loc) MB_CUR_MAX_L(loc) #define __libcpp_btowc_l(ch, loc) btowc_l(ch, loc) diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__bsd_locale_fallbacks.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__bsd_locale_fallbacks.h index 128ced77337..a52324f0db1 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__bsd_locale_fallbacks.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__bsd_locale_fallbacks.h @@ -17,11 +17,13 @@ #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__cccl/visibility.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__cccl/visibility.h index b8e9d337414..9034dbfd099 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__cccl/visibility.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__cccl/visibility.h @@ -16,18 +16,18 @@ #endif // __CCCL_CONFIG // We want to ensure that all warning emmiting from this header are supressed -// We define cub and thrust kernels as hidden. However, this triggers errors about missing external linkage iff the -// definition of the _CCCL_ATTRIBUTE_HIDDEN macro is not in a system header :shrug: -#if defined(_CCCL_COMPILER_NVHPC) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_FORCE_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_FORCE_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_FORCE_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_FORCE_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // For unknown reasons, nvc++ need to selectively disable this warning // We do not want to use our usual macro because that would have push / pop semantics #if defined(_CCCL_COMPILER_NVHPC) -#pragma nv_diag_suppress 1407 +# pragma nv_diag_suppress 1407 #endif // _CCCL_COMPILER_NVHPC // Enable us to hide kernels diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__cccl_config b/libcudacxx/include/cuda/std/detail/libcxx/include/__cccl_config index 49cafa2db2e..dafa7be4ad2 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__cccl_config +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__cccl_config @@ -22,6 +22,10 @@ # define _CCCL_COMPILER_MSVC #elif defined(__IBMCPP__) # define _CCCL_COMPILER_IBM +#elif defined(__INTEL_LLVM_COMPILER) +# define _CCCL_COMPILER_ICC_LLVM +#elif defined(__INTEL_COMPILER) +# define _CCCL_COMPILER_ICC #elif defined(__CUDACC_RTC__) # define _CCCL_COMPILER_NVRTC #endif @@ -47,46 +51,44 @@ #endif // Enforce that cccl headers are treated as system headers -#if defined(_CCCL_COMPILER_GCC) -# define _CCCL_FORCE_SYSTEM_HEADER _Pragma("GCC system_header") +#if defined(_CCCL_COMPILER_GCC) || defined(_CCCL_COMPILER_NVHPC) || defined(_CCCL_COMPILER_ICC) \ + || defined(_CCCL_COMPILER_ICC_LLVM) +# define _CCCL_FORCE_SYSTEM_HEADER_GCC #elif defined(_CCCL_COMPILER_CLANG) -# define _CCCL_FORCE_SYSTEM_HEADER _Pragma("clang system_header") +# define _CCCL_FORCE_SYSTEM_HEADER_CLANG #elif defined(_CCCL_COMPILER_MSVC) -# define _CCCL_FORCE_SYSTEM_HEADER __pragma(system_header) -#elif defined(_CCCL_COMPILER_NVHPC) -# define _CCCL_FORCE_SYSTEM_HEADER _Pragma("GCC system_header") -#else -# define _CCCL_FORCE_SYSTEM_HEADER -#endif +# define _CCCL_FORCE_SYSTEM_HEADER_MSVC +#endif // other compilers // Potentially enable that cccl headers are treated as system headers -#if defined(_CCCL_NO_SYSTEM_HEADER) -# define _CCCL_IMPLICIT_SYSTEM_HEADER -#elif defined(_CCCL_COMPILER_MSVC) \ - && defined(_LIBCUDACXX_DISABLE_PRAGMA_MSVC_WARNING) -# define _CCCL_IMPLICIT_SYSTEM_HEADER -#elif defined(_CCCL_COMPILER_NVRTC) -# define _CCCL_IMPLICIT_SYSTEM_HEADER -#elif defined(_LIBCUDACXX_DISABLE_PRAGMA_GCC_SYSTEM_HEADER) -# define _CCCL_IMPLICIT_SYSTEM_HEADER -#else -# define _CCCL_USE_IMPLICIT_SYSTEM_DEADER -# define _CCCL_IMPLICIT_SYSTEM_HEADER _CCCL_FORCE_SYSTEM_HEADER -#endif +#if !defined(_CCCL_NO_SYSTEM_HEADER) \ + && !(defined(_CCCL_COMPILER_MSVC) && defined(_LIBCUDACXX_DISABLE_PRAGMA_MSVC_WARNING)) \ + && !defined(_CCCL_COMPILER_NVRTC) && !defined(_LIBCUDACXX_DISABLE_PRAGMA_GCC_SYSTEM_HEADER) +# if defined(_CCCL_COMPILER_GCC) || defined(_CCCL_COMPILER_NVHPC) || defined(_CCCL_COMPILER_ICC) \ + || defined(_CCCL_COMPILER_ICC_LLVM) +# define _CCCL_IMPLICIT_SYSTEM_HEADER_GCC +# elif defined(_CCCL_COMPILER_CLANG) +# define _CCCL_IMPLICIT_SYSTEM_HEADER_CLANG +# elif defined(_CCCL_COMPILER_MSVC) +# define _CCCL_IMPLICIT_SYSTEM_HEADER_MSVC +# endif // other compilers +#endif // Use system header -// We want to ensure that all warning emmiting from this header are supressed -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +// Potentially silence all warnings from this header +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // Enable us to selectively silence host compiler warnings #define _CCCL_TOSTRING2(_STR) #_STR -#define _CCCL_TOSTRING(_STR) _CCCL_TOSTRING2(_STR) +#define _CCCL_TOSTRING(_STR) _CCCL_TOSTRING2(_STR) #ifdef _CCCL_COMPILER_CLANG -# define _CCCL_DIAG_PUSH _Pragma("clang diagnostic push") -# define _CCCL_DIAG_POP _Pragma("clang diagnostic pop") +# define _CCCL_DIAG_PUSH _Pragma("clang diagnostic push") +# define _CCCL_DIAG_POP _Pragma("clang diagnostic pop") # define _CCCL_DIAG_SUPPRESS_CLANG(str) _Pragma(_CCCL_TOSTRING(clang diagnostic ignored str)) # define _CCCL_DIAG_SUPPRESS_GCC(str) # define _CCCL_DIAG_SUPPRESS_NVHPC(str) @@ -98,7 +100,7 @@ _CCCL_IMPLICIT_SYSTEM_HEADER # define _CCCL_DIAG_SUPPRESS_NVHPC(str) #elif defined(_CCCL_COMPILER_NVHPC) # define _CCCL_DIAG_PUSH _Pragma("diagnostic push") -# define _CCCL_DIAG_POP _Pragma("diagnostic pop") +# define _CCCL_DIAG_POP _Pragma("diagnostic pop") # define _CCCL_DIAG_SUPPRESS_CLANG(str) # define _CCCL_DIAG_SUPPRESS_GCC(str) # define _CCCL_DIAG_SUPPRESS_NVHPC(str) _Pragma(_LIBCUDACXX_TOSTRING(diag_suppress str)) @@ -112,15 +114,17 @@ _CCCL_IMPLICIT_SYSTEM_HEADER // Convenient shortcuts to silence common warnings #if defined(_CCCL_COMPILER_CLANG) -# define _CCCL_DIAG_SUPPRESS_DEPRECATED_PUSH _CCCL_DIAG_PUSH \ - _CCCL_DIAG_SUPPRESS_CLANG("-Wdeprecated") \ - _CCCL_DIAG_SUPPRESS_CLANG("-Wdeprecated-declarations") -# define _CCCL_DIAG_SUPPRESS_DEPRECATED_POP _CCCL_DIAG_POP +# define _CCCL_DIAG_SUPPRESS_DEPRECATED_PUSH \ + _CCCL_DIAG_PUSH \ + _CCCL_DIAG_SUPPRESS_CLANG("-Wdeprecated") \ + _CCCL_DIAG_SUPPRESS_CLANG("-Wdeprecated-declarations") +# define _CCCL_DIAG_SUPPRESS_DEPRECATED_POP _CCCL_DIAG_POP #elif defined(_CCCL_COMPILER_GCC) -# define _CCCL_DIAG_SUPPRESS_DEPRECATED_PUSH _CCCL_DIAG_PUSH \ - _CCCL_DIAG_SUPPRESS_GCC("-Wdeprecated") \ - _CCCL_DIAG_SUPPRESS_GCC("-Wdeprecated-declarations") -# define _CCCL_DIAG_SUPPRESS_DEPRECATED_POP _CCCL_DIAG_POP +# define _CCCL_DIAG_SUPPRESS_DEPRECATED_PUSH \ + _CCCL_DIAG_PUSH \ + _CCCL_DIAG_SUPPRESS_GCC("-Wdeprecated") \ + _CCCL_DIAG_SUPPRESS_GCC("-Wdeprecated-declarations") +# define _CCCL_DIAG_SUPPRESS_DEPRECATED_POP _CCCL_DIAG_POP #else // !_CCCL_COMPILER_CLANG && !_CCCL_COMPILER_GCC # define _CCCL_DIAG_SUPPRESS_DEPRECATED_PUSH # define _CCCL_DIAG_SUPPRESS_DEPRECATED_POP @@ -136,14 +140,14 @@ _CCCL_IMPLICIT_SYSTEM_HEADER # define _CCCL_NV_DIAG_SUPPRESS(_WARNING) __pragma(_CCCL_TOSTRING(nv_diag_suppress _WARNING)) # define _CCCL_NV_DIAG_DEFAULT(_WARNING) __pragma(_CCCL_TOSTRING(nv_diag_default _WARNING)) # else // ^^^ _CCCL_COMPILER_MSVC ^^^ / vvv !_CCCL_COMPILER_MSVC vvv -# define _CCCL_NV_DIAG_SUPPRESS(_WARNING) _Pragma(_CCCL_TOSTRING(nv_diagnostic push)) \ - _Pragma(_CCCL_TOSTRING(nv_diag_suppress _WARNING)) -# define _CCCL_NV_DIAG_DEFAULT(_WARNING) _Pragma(_CCCL_TOSTRING(nv_diagnostic pop)) +# define _CCCL_NV_DIAG_SUPPRESS(_WARNING) \ + _Pragma(_CCCL_TOSTRING(nv_diagnostic push)) _Pragma(_CCCL_TOSTRING(nv_diag_suppress _WARNING)) +# define _CCCL_NV_DIAG_DEFAULT(_WARNING) _Pragma(_CCCL_TOSTRING(nv_diagnostic pop)) # endif // !_CCCL_COMPILER_MSVC # elif defined(_CCCL_COMPILER_NVHPC) -# define _CCCL_NV_DIAG_SUPPRESS(_WARNING) _Pragma(_CCCL_TOSTRING(diagnostic push)) \ - _Pragma(_CCCL_TOSTRING(diag_suppress _WARNING)) -# define _CCCL_NV_DIAG_DEFAULT(_WARNING) _Pragma(_CCCL_TOSTRING(diagnostic pop)) +# define _CCCL_NV_DIAG_SUPPRESS(_WARNING) \ + _Pragma(_CCCL_TOSTRING(diagnostic push)) _Pragma(_CCCL_TOSTRING(diag_suppress _WARNING)) +# define _CCCL_NV_DIAG_DEFAULT(_WARNING) _Pragma(_CCCL_TOSTRING(diagnostic pop)) # else // ^^^ __NVCC_DIAG_PRAGMA_SUPPORT__ ^^^ / vvv !__NVCC_DIAG_PRAGMA_SUPPORT__ vvv # if defined(_CCCL_COMPILER_MSVC_2017) // MSVC 2017 has issues with restoring the warning # define _CCCL_NV_DIAG_SUPPRESS(_WARNING) __pragma(_CCCL_TOSTRING(diag_suppress _WARNING)) diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/_One_of.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/_One_of.h index aabfa399425..5e4d1389595 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/_One_of.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/_One_of.h @@ -18,11 +18,13 @@ #include "../__type_traits/disjunction.h" #include "../__type_traits/is_same.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/__concept_macros.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/__concept_macros.h index 347e2ae9b5a..93375b7b3ce 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/__concept_macros.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/__concept_macros.h @@ -18,11 +18,13 @@ #include <__config> #endif //__cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if _LIBCUDACXX_STD_VER > 11 diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/arithmetic.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/arithmetic.h index a05c05b0183..5808d7d1dbb 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/arithmetic.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/arithmetic.h @@ -22,11 +22,13 @@ #include "../__type_traits/is_signed.h" #include "../__type_traits/is_unsigned_integer.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/assignable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/assignable.h index bb5a0e3aadf..3d9522466c2 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/assignable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/assignable.h @@ -21,11 +21,13 @@ #include "../__type_traits/make_const_lvalue_ref.h" #include "../__utility/forward.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/boolean_testable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/boolean_testable.h index 6ed6b8246c3..4a6c97a17ea 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/boolean_testable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/boolean_testable.h @@ -18,11 +18,13 @@ #include "../__concepts/convertible_to.h" #include "../__utility/forward.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/class_or_enum.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/class_or_enum.h index 026e99af01e..df59bd78dd4 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/class_or_enum.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/class_or_enum.h @@ -20,11 +20,13 @@ #include "../__type_traits/is_union.h" #include "../__type_traits/remove_cvref.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/common_reference_with.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/common_reference_with.h index 777a50f12ca..b54e78be12c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/common_reference_with.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/common_reference_with.h @@ -21,11 +21,13 @@ #include "../__type_traits/copy_cv.h" #include "../__type_traits/copy_cvref.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/common_with.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/common_with.h index 4ad58c4f20c..8fb9fcb7963 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/common_with.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/common_with.h @@ -21,11 +21,13 @@ #include "../__type_traits/common_type.h" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/constructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/constructible.h index 0443ebab28f..c338467d857 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/constructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/constructible.h @@ -20,11 +20,13 @@ #include "../__type_traits/add_lvalue_reference.h" #include "../__type_traits/is_constructible.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/convertible_to.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/convertible_to.h index 85a1eea229d..5ac5f4cc42c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/convertible_to.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/convertible_to.h @@ -18,11 +18,13 @@ #include "../__type_traits/is_convertible.h" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/copyable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/copyable.h index 15ad7790030..8a4b6dede36 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/copyable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/copyable.h @@ -19,11 +19,13 @@ #include "../__concepts/constructible.h" #include "../__concepts/movable.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/derived_from.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/derived_from.h index 571430b5341..0075ae97c4e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/derived_from.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/derived_from.h @@ -19,11 +19,13 @@ #include "../__type_traits/is_base_of.h" #include "../__type_traits/is_convertible.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/destructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/destructible.h index 6e24a7bb899..2bb831945d7 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/destructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/destructible.h @@ -22,11 +22,13 @@ #include "../__type_traits/void_t.h" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/different_from.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/different_from.h index a99effd2e77..f157d3c7119 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/different_from.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/different_from.h @@ -18,11 +18,13 @@ #include "../__concepts/same_as.h" #include "../__type_traits/remove_cvref.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/equality_comparable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/equality_comparable.h index cfe374fce77..c2b9d1166cd 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/equality_comparable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/equality_comparable.h @@ -20,11 +20,13 @@ #include "../__type_traits/common_reference.h" #include "../__type_traits/make_const_lvalue_ref.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/invocable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/invocable.h index 227a9c2694b..33ad53c0704 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/invocable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/invocable.h @@ -18,11 +18,13 @@ #include "../__functional/invoke.h" #include "../__utility/forward.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/movable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/movable.h index 28d01625e4a..233af6d63ba 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/movable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/movable.h @@ -20,11 +20,13 @@ #include "../__concepts/swappable.h" #include "../__type_traits/is_object.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/predicate.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/predicate.h index b88aab51641..f3b54c313be 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/predicate.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/predicate.h @@ -19,11 +19,13 @@ #include "../__concepts/invocable.h" #include "../__functional/invoke.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/regular.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/regular.h index 05979362388..e3dbf1fd837 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/regular.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/regular.h @@ -18,11 +18,13 @@ #include "../__concepts/equality_comparable.h" #include "../__concepts/semiregular.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/relation.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/relation.h index c3ed2e90dc3..8a5da7ad81a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/relation.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/relation.h @@ -17,11 +17,13 @@ #include "../__concepts/__concept_macros.h" #include "../__concepts/predicate.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/same_as.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/same_as.h index 0b4668a86a1..0ba84b5cbe6 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/same_as.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/same_as.h @@ -17,11 +17,13 @@ #include "../__concepts/__concept_macros.h" #include "../__type_traits/is_same.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/semiregular.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/semiregular.h index 46c3bca6d4d..208fefeb638 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/semiregular.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/semiregular.h @@ -18,11 +18,13 @@ #include "../__concepts/constructible.h" #include "../__concepts/copyable.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/swappable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/swappable.h index b5c1f1b666b..b2a93adf471 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/swappable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/swappable.h @@ -31,11 +31,13 @@ #include "../__utility/forward.h" #include "../__utility/move.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if defined(_LIBCUDACXX_COMPILER_MSVC) _LIBCUDACXX_NV_DIAG_SUPPRESS(461) // nonstandard cast to array type ignored diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/totally_ordered.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/totally_ordered.h index d1973c7c80d..9b9a2815d11 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/totally_ordered.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__concepts/totally_ordered.h @@ -20,11 +20,13 @@ #include "../__type_traits/common_reference.h" #include "../__type_traits/make_const_lvalue_ref.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__config b/libcudacxx/include/cuda/std/detail/libcxx/include/__config index fe0d305d5b0..5e425a6eae7 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__config +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__config @@ -12,11 +12,13 @@ #include "__cccl_config" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if defined(__NVCOMPILER) # define _LIBCUDACXX_COMPILER_NVHPC diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/atomic.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/atomic.h index 9e53acce011..52c03fb1f05 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/atomic.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/atomic.h @@ -15,11 +15,13 @@ #error "<__cuda/atomic> should only be included in from " #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_CUDA diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/barrier.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/barrier.h index b8e2b5b2b24..7563ef6a7f4 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/barrier.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/barrier.h @@ -19,11 +19,13 @@ # error "CUDA synchronization primitives are only supported for sm_70 and up." #endif -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include "../cstdlib" // _LIBCUDACXX_UNREACHABLE #include "../__type_traits/void_t.h" // _CUDA_VSTD::__void_t diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/chrono.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/chrono.h index 225123ff80c..76798c0ac58 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/chrono.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/chrono.h @@ -17,11 +17,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx.h index 384f3ba14b3..3414bea568d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx.h @@ -16,11 +16,13 @@ #error "<__cuda/ptx.h> should only be included in from " #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include // __CUDA_MINIMUM_ARCH__ and friends diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/parallel_synchronization_and_communication_instructions_mbarrier.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/parallel_synchronization_and_communication_instructions_mbarrier.h index 39bab140414..1f5c0d2b5a3 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/parallel_synchronization_and_communication_instructions_mbarrier.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/parallel_synchronization_and_communication_instructions_mbarrier.h @@ -17,11 +17,13 @@ #include "ptx_isa_target_macros.h" #include "../../cstdint" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_CUDA_PTX diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/ptx_dot_variants.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/ptx_dot_variants.h index 442c484e8eb..fdd4ca47b56 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/ptx_dot_variants.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/ptx_dot_variants.h @@ -14,11 +14,13 @@ #include "../../__type_traits/integral_constant.h" // std::integral_constant -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header /* * Public integral constant types and values for ".variant"s: diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/ptx_helper_functions.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/ptx_helper_functions.h index f6ec0b3959e..252b0e7e6ea 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/ptx_helper_functions.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/ptx_helper_functions.h @@ -14,11 +14,13 @@ #include "../../cstdint" // uint32_t -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_CUDA_PTX diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/ptx_isa_target_macros.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/ptx_isa_target_macros.h index ca5297e4de4..5dcccc5d1fd 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/ptx_isa_target_macros.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/ptx/ptx_isa_target_macros.h @@ -15,11 +15,13 @@ #include // __CUDA_MINIMUM_ARCH__ and friends -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header /* * Targeting macros diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/semaphore.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/semaphore.h index 0e7b9ae95c8..27e9e4ff08d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/semaphore.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__cuda/semaphore.h @@ -15,11 +15,13 @@ #error "<__cuda/semaphore> should only be included in from " #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_CUDA diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__debug b/libcudacxx/include/cuda/std/detail/libcxx/include/__debug index 70f25f4241f..30d5f9b2843 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__debug +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__debug @@ -19,11 +19,13 @@ #include "__type_traits/is_constant_evaluated.h" #include "cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if defined(_LIBCUDACXX_ENABLE_DEBUG_MODE) && !defined(_LIBCUDACXX_DEBUG_RANDOMIZE_UNSPECIFIED_STABILITY) # define _LIBCUDACXX_DEBUG_RANDOMIZE_UNSPECIFIED_STABILITY diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__errc b/libcudacxx/include/cuda/std/detail/libcxx/include/__errc index 1143fcf7460..f58e63e436e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__errc +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__errc @@ -103,11 +103,13 @@ enum class errc #include <__config> #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/bad_expected_access.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/bad_expected_access.h index 82880af230a..7bc5276aa68 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/bad_expected_access.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/bad_expected_access.h @@ -16,11 +16,13 @@ #include "../__utility/move.h" #include "../exception" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if _LIBCUDACXX_STD_VER > 11 diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/expected.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/expected.h index 39fce36d6da..1550b16d2ea 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/expected.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/expected.h @@ -60,11 +60,13 @@ #include "../cstdlib" #include "../initializer_list" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if _LIBCUDACXX_STD_VER > 11 diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/expected_base.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/expected_base.h index 26e911667d5..c8cc960e13e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/expected_base.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/expected_base.h @@ -45,11 +45,13 @@ #include "../__utility/in_place.h" #include "../__utility/move.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if _LIBCUDACXX_STD_VER > 11 diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/unexpect.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/unexpect.h index f4a55f5bdd2..f9a0f8a522d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/unexpect.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/unexpect.h @@ -13,11 +13,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if _LIBCUDACXX_STD_VER > 11 diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/unexpected.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/unexpected.h index d8529a04344..7020365c1ae 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/unexpected.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__expected/unexpected.h @@ -31,11 +31,13 @@ #include "../initializer_list" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binary_function.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binary_function.h index 25751f5be0b..961c21a88b1 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binary_function.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binary_function.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binary_negate.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binary_negate.h index 96d72a5515d..9b45f479fc9 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binary_negate.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binary_negate.h @@ -17,11 +17,13 @@ #include "../__functional/binary_function.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/bind.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/bind.h index 1d7f9d38125..9e573a23320 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/bind.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/bind.h @@ -41,11 +41,13 @@ #include "../cstddef" #include "../tuple" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/bind_back.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/bind_back.h index 9d7b7eddc1d..927511f3c7e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/bind_back.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/bind_back.h @@ -28,11 +28,13 @@ #include "../tuple" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/bind_front.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/bind_front.h index 0ee3921c118..33b334d3f3f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/bind_front.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/bind_front.h @@ -25,11 +25,13 @@ #include "../__type_traits/is_nothrow_constructible.h" #include "../__utility/forward.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binder1st.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binder1st.h index 702187d0197..efc95155612 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binder1st.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binder1st.h @@ -17,11 +17,13 @@ #include "../__functional/unary_function.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binder2nd.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binder2nd.h index f8238309f7c..999e9051837 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binder2nd.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/binder2nd.h @@ -17,11 +17,13 @@ #include "../__functional/unary_function.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/compose.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/compose.h index 6a61be4e4ee..c7a9fdb2b50 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/compose.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/compose.h @@ -20,11 +20,13 @@ #include "../__type_traits/decay.h" #include "../__utility/forward.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/default_searcher.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/default_searcher.h index 13b0f1c6eed..fc790aea052 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/default_searcher.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/default_searcher.h @@ -21,11 +21,13 @@ #include "../__iterator/iterator_traits.h" #include "../__utility/pair.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/function.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/function.h index 14707ceb605..b1cb54c6c48 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/function.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/function.h @@ -44,11 +44,13 @@ #include "../__utility/swap.h" #include "../tuple" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/hash.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/hash.h index 4ed859a0379..711a06ee2e4 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/hash.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/hash.h @@ -31,11 +31,13 @@ #include "../__utility/swap.h" #include "../cstdint" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifndef __cuda_std__ diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/identity.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/identity.h index b1a2d4116ce..0c561124103 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/identity.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/identity.h @@ -17,11 +17,13 @@ #include "../__utility/forward.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/invoke.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/invoke.h index 95ebdae81f6..6be9dd5cfef 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/invoke.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/invoke.h @@ -33,11 +33,13 @@ #include "../__utility/declval.h" #include "../__utility/forward.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // TODO: Disentangle the type traits and _CUDA_VSTD::invoke properly diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/is_transparent.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/is_transparent.h index 42b512ef1ec..45d5aaba2e4 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/is_transparent.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/is_transparent.h @@ -18,11 +18,13 @@ #include "../__type_traits/integral_constant.h" #include "../__type_traits/void_t.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/mem_fn.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/mem_fn.h index 6f9674e5b1c..d2011874819 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/mem_fn.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/mem_fn.h @@ -20,11 +20,13 @@ #include "../__functional/weak_result_type.h" #include "../__utility/forward.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/mem_fun_ref.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/mem_fun_ref.h index ad2e6ec1146..0ccf76d93fd 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/mem_fun_ref.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/mem_fun_ref.h @@ -18,11 +18,13 @@ #include "../__functional/binary_function.h" #include "../__functional/unary_function.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/not_fn.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/not_fn.h index 31e48c544ec..4b6b0fb3ccd 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/not_fn.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/not_fn.h @@ -23,11 +23,13 @@ #include "../__type_traits/is_move_constructible.h" #include "../__utility/forward.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/operations.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/operations.h index 5c35a84a307..2fb6df4d6f1 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/operations.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/operations.h @@ -19,11 +19,13 @@ #include "../__functional/unary_function.h" #include "../__utility/forward.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/perfect_forward.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/perfect_forward.h index a84212a0cb2..98e56389927 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/perfect_forward.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/perfect_forward.h @@ -27,11 +27,13 @@ #include "../tuple" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/pointer_to_binary_function.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/pointer_to_binary_function.h index 72c46a411a4..bbcfb96396d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/pointer_to_binary_function.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/pointer_to_binary_function.h @@ -17,11 +17,13 @@ #include "../__functional/binary_function.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/pointer_to_unary_function.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/pointer_to_unary_function.h index a528d8c5c2b..f5f8b25247c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/pointer_to_unary_function.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/pointer_to_unary_function.h @@ -17,11 +17,13 @@ #include "../__functional/unary_function.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/ranges_operations.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/ranges_operations.h index 210ce402a3e..7445367470a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/ranges_operations.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/ranges_operations.h @@ -18,11 +18,13 @@ #include "../__concepts/totally_ordered.h" #include "../__utility/forward.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if _LIBCUDACXX_STD_VER > 14 diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/reference_wrapper.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/reference_wrapper.h index 68b2ce01344..19c4529d035 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/reference_wrapper.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/reference_wrapper.h @@ -22,11 +22,13 @@ #include "../__utility/declval.h" #include "../__utility/forward.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/unary_function.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/unary_function.h index 6545c451f33..d06fc3d75bb 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/unary_function.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/unary_function.h @@ -13,11 +13,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/unary_negate.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/unary_negate.h index 2a6adfd5e97..97448758b25 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/unary_negate.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/unary_negate.h @@ -17,11 +17,13 @@ #include "../__functional/unary_function.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/unwrap_ref.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/unwrap_ref.h index c0f522ede1a..398ff118919 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/unwrap_ref.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/unwrap_ref.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/weak_result_type.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/weak_result_type.h index 911263b8331..8c5b5232d89 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/weak_result_type.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional/weak_result_type.h @@ -21,11 +21,13 @@ #include "../__type_traits/is_same.h" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional_base b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional_base index dc28633036e..b3a3b064adb 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__functional_base +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__functional_base @@ -32,11 +32,13 @@ #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/array.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/array.h index 9161771b523..d07e5642bb9 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/array.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/array.h @@ -16,11 +16,13 @@ #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/get.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/get.h index 2d68f304009..3d246552b84 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/get.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/get.h @@ -20,11 +20,13 @@ #include "../__tuple_dir/tuple_element.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/hash.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/hash.h index 16df8ee9d6a..b91a9b6a825 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/hash.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/hash.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/memory_resource.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/memory_resource.h index 130da942a52..38803984ec0 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/memory_resource.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/memory_resource.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/pair.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/pair.h index 7d19a66520e..85fd027daef 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/pair.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/pair.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/span.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/span.h index 06b3a667e98..4bb75bf8803 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/span.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/span.h @@ -17,11 +17,13 @@ #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/string.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/string.h index 5a408b7df5f..6086f44adf4 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/string.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/string.h @@ -16,11 +16,13 @@ #include "../__fwd/memory_resource.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/string_view.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/string_view.h index 670de6771c2..12e640f01ac 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/string_view.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/string_view.h @@ -17,11 +17,13 @@ #include "../__fwd/string.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/tuple.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/tuple.h index 7fbf47e9174..0a3b5230521 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/tuple.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__fwd/tuple.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__hash_table b/libcudacxx/include/cuda/std/detail/libcxx/include/__hash_table index 899800339c5..fe07ded5374 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__hash_table +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__hash_table @@ -22,11 +22,13 @@ #include "__assert" // all public C++ headers provide the assertion handler #include "__debug" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/access.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/access.h index edecae6bcd1..84cfdeab540 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/access.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/access.h @@ -17,11 +17,13 @@ #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/advance.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/advance.h index 123f99f3e80..f0f45dbe37f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/advance.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/advance.h @@ -25,11 +25,13 @@ #include "../__utility/move.h" #include "../cstdlib" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/back_insert_iterator.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/back_insert_iterator.h index 8d62a4e9b32..a977729934f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/back_insert_iterator.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/back_insert_iterator.h @@ -21,11 +21,13 @@ #include "../__utility/move.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/bounded_iter.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/bounded_iter.h index adb69566e8e..2a8619cae90 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/bounded_iter.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/bounded_iter.h @@ -22,11 +22,13 @@ #include "../__type_traits/is_convertible.h" #include "../__utility/move.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/concepts.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/concepts.h index 97937493ac4..13b68af62c7 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/concepts.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/concepts.h @@ -45,11 +45,13 @@ #include "../__type_traits/remove_cvref.h" #include "../__type_traits/void_t.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/data.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/data.h index 4d2bda2bed7..255922a3fdd 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/data.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/data.h @@ -18,11 +18,13 @@ #include "../cstddef" #include "../initializer_list" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/default_sentinel.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/default_sentinel.h index f1859e1a413..e378ce0fb9c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/default_sentinel.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/default_sentinel.h @@ -15,11 +15,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/distance.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/distance.h index 2c496362d5b..e6e165a2e45 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/distance.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/distance.h @@ -26,11 +26,13 @@ #include "../__type_traits/decay.h" #include "../__type_traits/remove_cvref.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/empty.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/empty.h index 7a2a655f80d..cb9602bf51b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/empty.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/empty.h @@ -18,11 +18,13 @@ #include "../cstddef" #include "../initializer_list" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/erase_if_container.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/erase_if_container.h index 31160203a6c..07e3ad8ff96 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/erase_if_container.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/erase_if_container.h @@ -15,11 +15,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/front_insert_iterator.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/front_insert_iterator.h index 0fdde41a2db..aef0098a4e5 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/front_insert_iterator.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/front_insert_iterator.h @@ -21,11 +21,13 @@ #include "../__utility/move.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/incrementable_traits.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/incrementable_traits.h index be3c3488923..655ac8fd229 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/incrementable_traits.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/incrementable_traits.h @@ -27,11 +27,13 @@ #include "../__utility/declval.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/indirectly_comparable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/indirectly_comparable.h index f787950ca67..9dc038aa7aa 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/indirectly_comparable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/indirectly_comparable.h @@ -19,11 +19,13 @@ #include "../__iterator/concepts.h" #include "../__iterator/projected.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/insert_iterator.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/insert_iterator.h index f0b3716a96f..50ccebf31a9 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/insert_iterator.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/insert_iterator.h @@ -21,11 +21,13 @@ #include "../__utility/move.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/istream_iterator.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/istream_iterator.h index 6e97e0aa71b..adf07bcc0a0 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/istream_iterator.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/istream_iterator.h @@ -20,11 +20,13 @@ #include "../cstddef" #include "../iosfwd" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/istreambuf_iterator.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/istreambuf_iterator.h index 63a4845b9b3..9dbbc64e18f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/istreambuf_iterator.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/istreambuf_iterator.h @@ -19,11 +19,13 @@ #include "../__iterator/iterator_traits.h" #include "../iosfwd" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iter_move.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iter_move.h index 6b326cf8c3e..6f23c8304ef 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iter_move.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iter_move.h @@ -24,11 +24,13 @@ #include "../__utility/forward.h" #include "../__utility/move.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if defined(__clang__) #pragma clang diagnostic push diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iter_swap.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iter_swap.h index 8bc0c8dbe05..624a034f6c3 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iter_swap.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iter_swap.h @@ -24,11 +24,13 @@ #include "../__utility/forward.h" #include "../__utility/move.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if _LIBCUDACXX_STD_VER > 14 diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iterator.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iterator.h index f9289e79da6..1f00b0aed78 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iterator.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iterator.h @@ -17,11 +17,13 @@ #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iterator_traits.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iterator_traits.h index 4b5340d0353..8471b8a4720 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iterator_traits.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/iterator_traits.h @@ -32,11 +32,13 @@ #include "../__type_traits/void_t.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/mergeable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/mergeable.h index 1af14cf573a..c7a97485e29 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/mergeable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/mergeable.h @@ -20,11 +20,13 @@ #include "../__iterator/concepts.h" #include "../__iterator/projected.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/move_iterator.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/move_iterator.h index a07cd2f0786..6f23cf4a90e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/move_iterator.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/move_iterator.h @@ -37,11 +37,13 @@ #include "../__utility/move.h" #include "../cstdlib" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/move_sentinel.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/move_sentinel.h index 56530cdce9b..5ad1922b731 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/move_sentinel.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/move_sentinel.h @@ -19,11 +19,13 @@ #include "../__concepts/semiregular.h" #include "../__utility/move.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if _LIBCUDACXX_STD_VER > 14 diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/next.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/next.h index 45af536c8ac..27452be9f7b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/next.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/next.h @@ -22,11 +22,13 @@ #include "../__iterator/iterator_traits.h" #include "../__type_traits/enable_if.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/ostream_iterator.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/ostream_iterator.h index 6bd59d3ce5e..a13650fee5a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/ostream_iterator.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/ostream_iterator.h @@ -21,11 +21,13 @@ #include "../cstddef" #include "../iosfwd" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/ostreambuf_iterator.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/ostreambuf_iterator.h index 99d2222de7a..48bc890d843 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/ostreambuf_iterator.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/ostreambuf_iterator.h @@ -20,11 +20,13 @@ #include "../cstddef" #include "../iosfwd" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/permutable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/permutable.h index 3c5a0eb4ff5..d3afdafab2f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/permutable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/permutable.h @@ -18,11 +18,13 @@ #include "../__iterator/concepts.h" #include "../__iterator/iter_swap.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/prev.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/prev.h index 5d17cc72961..c91c7f8f45d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/prev.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/prev.h @@ -22,11 +22,13 @@ #include "../__iterator/iterator_traits.h" #include "../__type_traits/enable_if.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/projected.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/projected.h index c19a22405a4..86760454818 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/projected.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/projected.h @@ -19,11 +19,13 @@ #include "../__type_traits/enable_if.h" #include "../__type_traits/remove_cvref.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/readable_traits.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/readable_traits.h index fb540ace1c9..17c029c3a12 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/readable_traits.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/readable_traits.h @@ -27,11 +27,13 @@ #include "../__type_traits/remove_extent.h" #include "../__type_traits/void_t.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/reverse_access.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/reverse_access.h index d68adaed755..b326ec7a14e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/reverse_access.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/reverse_access.h @@ -19,11 +19,13 @@ #include "../cstddef" #include "../initializer_list" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/reverse_iterator.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/reverse_iterator.h index 88378fa9f3a..fa749b887e7 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/reverse_iterator.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/reverse_iterator.h @@ -46,11 +46,13 @@ #include "../__type_traits/void_t.h" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/size.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/size.h index aca8f78ac95..7207e552a23 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/size.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/size.h @@ -19,11 +19,13 @@ #include "../__type_traits/make_signed.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/sortable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/sortable.h index 135954960f3..6ddeddc5ed4 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/sortable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/sortable.h @@ -21,11 +21,13 @@ #include "../__iterator/permutable.h" #include "../__iterator/projected.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/unreachable_sentinel.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/unreachable_sentinel.h index 46cb67acd2c..45565169912 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/unreachable_sentinel.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/unreachable_sentinel.h @@ -18,11 +18,13 @@ #include "../__iterator/concepts.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if _LIBCUDACXX_STD_VER > 14 diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/wrap_iter.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/wrap_iter.h index 1a2389548ea..9c0e3107556 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/wrap_iter.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__iterator/wrap_iter.h @@ -23,11 +23,13 @@ #include "../__type_traits/is_convertible.h" #include "../__type_traits/is_trivially_copy_assignable.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__locale b/libcudacxx/include/cuda/std/detail/libcxx/include/__locale index c8fc12ba5ec..17773f6bce7 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__locale +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__locale @@ -42,11 +42,13 @@ # include #endif -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/compressed_pair.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/compressed_pair.h index 6c7cb6fa976..f122a439efa 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/compressed_pair.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/compressed_pair.h @@ -55,11 +55,13 @@ #include "../__type_traits/enable_if.h" #include "../__type_traits/is_empty.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/default_accessor.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/default_accessor.h index 52a3a88a93b..e20e176f963 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/default_accessor.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/default_accessor.h @@ -52,11 +52,13 @@ #include "../__type_traits/is_convertible.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/extents.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/extents.h index 707438e643c..606535b508a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/extents.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/extents.h @@ -64,11 +64,13 @@ #include "../cstddef" #include "../span" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if defined(_LIBCUDACXX_PUSH_MACROS) _LIBCUDACXX_PUSH_MACROS diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/full_extent_t.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/full_extent_t.h index 45d9b45e179..3b7ef55d1c1 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/full_extent_t.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/full_extent_t.h @@ -50,11 +50,13 @@ #include "../__mdspan/macros.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/layout_left.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/layout_left.h index cc70c3d9634..0d40e662a72 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/layout_left.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/layout_left.h @@ -58,11 +58,13 @@ #include "../__utility/integer_sequence.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/layout_right.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/layout_right.h index a7c037b317f..fdcd42408de 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/layout_right.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/layout_right.h @@ -58,11 +58,13 @@ #include "../__utility/integer_sequence.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/layout_stride.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/layout_stride.h index 381946f1e84..ba5f2e55512 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/layout_stride.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/layout_stride.h @@ -69,11 +69,13 @@ #include "../numeric" #include "../span" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/macros.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/macros.h index 7bad432c40f..08210359631 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/macros.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/macros.h @@ -55,11 +55,13 @@ #include "../__type_traits/remove_reference.h" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if _LIBCUDACXX_STD_VER > 11 diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/maybe_static_value.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/maybe_static_value.h index 0070e063a35..0f3c858d6f6 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/maybe_static_value.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/maybe_static_value.h @@ -54,11 +54,13 @@ #include "../__mdspan/no_unique_address.h" #endif -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // This is only needed for the non-standard-layout version of partially // static array. diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/mdspan.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/mdspan.h index 19f84739cd7..52bc8ebe482 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/mdspan.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/mdspan.h @@ -69,11 +69,13 @@ #include "../array" #include "../span" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/no_unique_address.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/no_unique_address.h index 4d071531b89..1ce2d40e373 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/no_unique_address.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/no_unique_address.h @@ -54,11 +54,13 @@ #include "../__type_traits/is_trivially_destructible.h" #include "../__utility/move.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/standard_layout_static_array.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/standard_layout_static_array.h index f58f2dfa394..b6155432c3f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/standard_layout_static_array.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/standard_layout_static_array.h @@ -60,11 +60,13 @@ #include "../cstddef" #include "../span" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/static_array.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/static_array.h index ed707f69d12..ef7479a7f71 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/static_array.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/static_array.h @@ -58,11 +58,13 @@ #include "../array" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if !__MDSPAN_PRESERVE_STANDARD_LAYOUT diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/submdspan.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/submdspan.h index 60071147ba2..ef93663e915 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/submdspan.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/submdspan.h @@ -67,11 +67,13 @@ #include "../__utility/pair.h" #include "../tuple" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/type_list.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/type_list.h index 10ca0c3bc73..66c0e623069 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/type_list.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mdspan/type_list.h @@ -51,11 +51,13 @@ #include "../__mdspan/macros.h" #include "../__utility/integer_sequence.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/addressof.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/addressof.h index 93e6b0c8971..b7024fcf868 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/addressof.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/addressof.h @@ -15,11 +15,13 @@ #include <__config> #endif //__cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/construct_at.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/construct_at.h index 7f92b5cb108..e86b13442b4 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/construct_at.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/construct_at.h @@ -32,11 +32,13 @@ #include "../__utility/forward.h" #include "../__utility/move.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifdef _LIBCUDACXX_COMPILER_CLANG_CUDA # include diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/pointer_traits.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/pointer_traits.h index 781c629ef71..fbea61af92d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/pointer_traits.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/pointer_traits.h @@ -27,11 +27,13 @@ #include "../__utility/declval.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/voidify.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/voidify.h index 9b7ffb135f8..75e2ea214f4 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/voidify.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__memory/voidify.h @@ -17,11 +17,13 @@ #include "../__memory/addressof.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__mutex_base b/libcudacxx/include/cuda/std/detail/libcxx/include/__mutex_base index e09afba6848..99c1602f9b4 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__mutex_base +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__mutex_base @@ -17,11 +17,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__node_handle b/libcudacxx/include/cuda/std/detail/libcxx/include/__node_handle index d6c3c35ec0b..e345da5f6fc 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__node_handle +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__node_handle @@ -15,11 +15,13 @@ #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__nullptr b/libcudacxx/include/cuda/std/detail/libcxx/include/__nullptr index 0fe93766dcc..93af48c9a30 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__nullptr +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__nullptr @@ -12,11 +12,13 @@ #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifdef _LIBCUDACXX_HAS_NO_NULLPTR diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__split_buffer b/libcudacxx/include/cuda/std/detail/libcxx/include/__split_buffer index b4d861cd3b4..65d00e438b7 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__split_buffer +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__split_buffer @@ -6,11 +6,13 @@ #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__sso_allocator b/libcudacxx/include/cuda/std/detail/libcxx/include/__sso_allocator index 05479a6807f..db18209baf9 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__sso_allocator +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__sso_allocator @@ -14,11 +14,13 @@ #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__std_stream b/libcudacxx/include/cuda/std/detail/libcxx/include/__std_stream index 603051531f9..10239250ed5 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__std_stream +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__std_stream @@ -16,11 +16,13 @@ #include <__locale> #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__string b/libcudacxx/include/cuda/std/detail/libcxx/include/__string index 558dd690d80..474d5809ad1 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__string +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__string @@ -60,11 +60,13 @@ template <> struct char_traits; // c++20 #include "__assert" // all public C++ headers provide the assertion handler #include <__debug> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__threading_support b/libcudacxx/include/cuda/std/detail/libcxx/include/__threading_support index 8a5b2c98af3..90f4f95c607 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__threading_support +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__threading_support @@ -27,11 +27,13 @@ #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if defined(_LIBCUDACXX_HAS_THREAD_API_EXTERNAL) # ifndef __cuda_std__ diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__tree b/libcudacxx/include/cuda/std/detail/libcxx/include/__tree index 63b9963eeec..d875c8d78c8 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__tree +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__tree @@ -16,11 +16,13 @@ #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/apply_cv.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/apply_cv.h index 48292d4bb27..58b3854cd6c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/apply_cv.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/apply_cv.h @@ -19,11 +19,13 @@ #include "../__type_traits/is_volatile.h" #include "../__type_traits/remove_reference.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/make_tuple_types.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/make_tuple_types.h index e119fab819f..a3a42c1b345 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/make_tuple_types.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/make_tuple_types.h @@ -25,11 +25,13 @@ #include "../__type_traits/remove_reference.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/sfinae_helpers.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/sfinae_helpers.h index c22f2065b55..5823dc7363c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/sfinae_helpers.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/sfinae_helpers.h @@ -30,11 +30,13 @@ #include "../__type_traits/remove_reference.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_element.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_element.h index a0c64d9cd15..43e237ee3a7 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_element.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_element.h @@ -21,11 +21,13 @@ #include "../__type_traits/add_volatile.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_indices.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_indices.h index 350e8df0a65..330beb63870 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_indices.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_indices.h @@ -17,11 +17,13 @@ #include "../__utility/integer_sequence.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_like.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_like.h index 566d49ada3d..cd97585330d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_like.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_like.h @@ -21,11 +21,13 @@ #include "../__type_traits/integral_constant.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_size.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_size.h index 85bf46d1945..65fe80b2c78 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_size.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_size.h @@ -22,11 +22,13 @@ #include "../__type_traits/is_volatile.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_types.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_types.h index 389cf889126..dfb54658f7b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_types.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__tuple_dir/tuple_types.h @@ -14,11 +14,13 @@ # include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_const.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_const.h index ab3dc037d62..aa68190fefe 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_const.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_const.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_cv.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_cv.h index 24cf172c531..36b2803f3de 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_cv.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_cv.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h index 10fc9c2878e..8b3eae0a877 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h @@ -16,11 +16,13 @@ #include "../__type_traits/is_referenceable.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_pointer.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_pointer.h index fba8cbb8425..9018b7a39be 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_pointer.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_pointer.h @@ -20,11 +20,13 @@ #include "../__type_traits/remove_cv.h" #include "../__type_traits/remove_reference.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_rvalue_reference.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_rvalue_reference.h index d4273a04323..20e2e1b3aaf 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_rvalue_reference.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_rvalue_reference.h @@ -16,11 +16,13 @@ #include "../__type_traits/is_referenceable.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_volatile.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_volatile.h index 438806a1af2..87f6c429973 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_volatile.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/add_volatile.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/aligned_storage.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/aligned_storage.h index dceabc43ec5..6388b9f85aa 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/aligned_storage.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/aligned_storage.h @@ -19,11 +19,13 @@ #include "../__type_traits/type_list.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/aligned_union.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/aligned_union.h index f216765c95e..215e0615646 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/aligned_union.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/aligned_union.h @@ -18,11 +18,13 @@ #include "../__type_traits/integral_constant.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/alignment_of.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/alignment_of.h index 16b8e36cbbc..120f1025f46 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/alignment_of.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/alignment_of.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/apply_cv.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/apply_cv.h index 14ca61f6433..a6e1ced495a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/apply_cv.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/apply_cv.h @@ -19,11 +19,13 @@ #include "../__type_traits/remove_reference.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/can_extract_key.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/can_extract_key.h index e0789f42a6b..e436763ca68 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/can_extract_key.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/can_extract_key.h @@ -21,11 +21,13 @@ #include "../__type_traits/remove_const.h" #include "../__type_traits/remove_const_ref.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h index 812a21fbafb..b89b4dbe02f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h @@ -31,11 +31,13 @@ #include "../__type_traits/void_t.h" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/common_type.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/common_type.h index 270b411f9f4..a473abfc687 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/common_type.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/common_type.h @@ -20,11 +20,13 @@ #include "../__type_traits/void_t.h" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h index aa776667203..d0c752e6ebe 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/conjunction.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/conjunction.h index 8c602450d37..bbafb655722 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/conjunction.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/conjunction.h @@ -18,11 +18,13 @@ #include "../__type_traits/enable_if.h" #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/copy_cv.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/copy_cv.h index 75eb8644fcb..e3fc4ca0188 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/copy_cv.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/copy_cv.h @@ -18,11 +18,13 @@ #include "../__type_traits/add_cv.h" #include "../__type_traits/add_volatile.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/copy_cvref.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/copy_cvref.h index 8205dc3fe85..605c67c971d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/copy_cvref.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/copy_cvref.h @@ -18,11 +18,13 @@ #include "../__type_traits/add_rvalue_reference.h" #include "../__type_traits/copy_cv.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/decay.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/decay.h index bb8d449a26d..7c523e74aa0 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/decay.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/decay.h @@ -23,11 +23,13 @@ #include "../__type_traits/remove_extent.h" #include "../__type_traits/remove_reference.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/dependent_type.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/dependent_type.h index faca9d784f6..0a422f3c512 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/dependent_type.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/dependent_type.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/disjunction.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/disjunction.h index 8cff53cf9a6..1468a0ae7db 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/disjunction.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/disjunction.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/enable_if.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/enable_if.h index e3fe02bb277..f2b4ef22aab 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/enable_if.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/enable_if.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/extent.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/extent.h index 7bbf6a9d42b..3690aa6b3a1 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/extent.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/extent.h @@ -18,11 +18,13 @@ #include "../__type_traits/integral_constant.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/has_unique_object_representation.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/has_unique_object_representation.h index 5f21ebd4b97..f97a820d40e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/has_unique_object_representation.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/has_unique_object_representation.h @@ -18,11 +18,13 @@ #include "../__type_traits/remove_all_extents.h" #include "../__type_traits/remove_cv.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/has_virtual_destructor.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/has_virtual_destructor.h index 9f62201263c..a46e1d17b47 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/has_virtual_destructor.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/has_virtual_destructor.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h index a008ca9642e..8fcaf597949 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_abstract.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_abstract.h index 53ee5a68238..6dc50c56683 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_abstract.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_abstract.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_aggregate.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_aggregate.h index 84b515e80b1..560ad0d3cc5 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_aggregate.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_aggregate.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_allocator.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_allocator.h index 9e9cb2bf32b..0f09911faf4 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_allocator.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_allocator.h @@ -19,11 +19,13 @@ #include "../__utility/declval.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_arithmetic.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_arithmetic.h index 9e84dab5c19..5e325b2efdb 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_arithmetic.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_arithmetic.h @@ -18,11 +18,13 @@ #include "../__type_traits/is_floating_point.h" #include "../__type_traits/is_integral.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_array.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_array.h index 82b24fe3c3a..4138bec6a5d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_array.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_array.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_assignable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_assignable.h index ba577332a45..7854d6156f3 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_assignable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_assignable.h @@ -18,11 +18,13 @@ #include "../__type_traits/is_void.h" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_base_of.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_base_of.h index a6857826424..04bbf1aac13 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_base_of.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_base_of.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_bounded_array.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_bounded_array.h index 694063647ef..8c7cd5c6e94 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_bounded_array.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_bounded_array.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_callable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_callable.h index 6d03b6d2a98..46eaa164bcf 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_callable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_callable.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_char_like_type.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_char_like_type.h index d49b17a5d42..f761bd9204e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_char_like_type.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_char_like_type.h @@ -18,11 +18,13 @@ #include "../__type_traits/is_standard_layout.h" #include "../__type_traits/is_trivial.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_class.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_class.h index 703fc9c3bb0..a7892834329 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_class.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_class.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../__type_traits/is_union.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_compound.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_compound.h index d1e20ba3374..d6bc568e43f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_compound.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_compound.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../__type_traits/is_fundamental.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_const.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_const.h index 24f4687bd2e..af109fe16a7 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_const.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_const.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_constant_evaluated.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_constant_evaluated.h index 3b91dabd176..8ac3e30c6ac 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_constant_evaluated.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_constant_evaluated.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h index 0f3b41dac1b..08bf6b00045 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h @@ -26,11 +26,13 @@ #include "../__type_traits/remove_cvref.h" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_convertible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_convertible.h index 080928beefc..b4540d0eba8 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_convertible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_convertible.h @@ -23,11 +23,13 @@ #include "../__utility/declval.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_assignable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_assignable.h index 4acf903e415..03d2bbc6bbf 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_assignable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_assignable.h @@ -18,11 +18,13 @@ #include "../__type_traits/add_lvalue_reference.h" #include "../__type_traits/is_assignable.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_constructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_constructible.h index 37cb709f50d..d16763f728f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_constructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_constructible.h @@ -18,11 +18,13 @@ #include "../__type_traits/add_lvalue_reference.h" #include "../__type_traits/is_constructible.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_core_convertible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_core_convertible.h index f4ab6b26c27..0cd8919adcf 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_core_convertible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_core_convertible.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_default_constructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_default_constructible.h index 988b1f9b6ae..3b66b2bd729 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_default_constructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_default_constructible.h @@ -16,11 +16,13 @@ #include "../__type_traits/is_constructible.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_destructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_destructible.h index 59af3f3ab6e..7f2414d0491 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_destructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_destructible.h @@ -20,11 +20,13 @@ #include "../__type_traits/remove_all_extents.h" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_empty.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_empty.h index 54f99c4f5f1..325c20367ae 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_empty.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_empty.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h index 9e7f1482311..7b556b3e078 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h @@ -26,11 +26,13 @@ #include "../__type_traits/is_union.h" #include "../__type_traits/is_void.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_final.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_final.h index 42056c53fff..a925d5b7695 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_final.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_final.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_floating_point.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_floating_point.h index fee4d040d69..451c70339c5 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_floating_point.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_floating_point.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../__type_traits/remove_cv.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_function.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_function.h index 17de151f89f..b7088cd9a98 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_function.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_function.h @@ -18,11 +18,13 @@ #include "../__type_traits/is_const.h" #include "../__type_traits/is_reference.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_fundamental.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_fundamental.h index c2ff42c8ab6..26a753a0dc3 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_fundamental.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_fundamental.h @@ -19,11 +19,13 @@ #include "../__type_traits/is_null_pointer.h" #include "../__type_traits/is_void.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_implicitly_default_constructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_implicitly_default_constructible.h index 0564e5b05e4..da0ac967fe3 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_implicitly_default_constructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_implicitly_default_constructible.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../__type_traits/is_default_constructible.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_integral.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_integral.h index 0c5303be6f6..3bbf43e1338 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_integral.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_integral.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../__type_traits/remove_cv.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_literal_type.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_literal_type.h index 25f1675d5b8..6bac98a226f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_literal_type.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_literal_type.h @@ -19,11 +19,13 @@ #include "../__type_traits/is_scalar.h" #include "../__type_traits/remove_all_extents.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_member_function_pointer.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_member_function_pointer.h index eee3802f843..fc7689ddc16 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_member_function_pointer.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_member_function_pointer.h @@ -19,11 +19,13 @@ #include "../__type_traits/remove_cv.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_member_object_pointer.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_member_object_pointer.h index 642df0fe977..6f3c503e395 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_member_object_pointer.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_member_object_pointer.h @@ -18,11 +18,13 @@ #include "../__type_traits/is_member_function_pointer.h" #include "../__type_traits/remove_cv.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_member_pointer.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_member_pointer.h index 7023e637cb7..04a7ded030a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_member_pointer.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_member_pointer.h @@ -18,11 +18,13 @@ #include "../__type_traits/is_member_function_pointer.h" #include "../__type_traits/remove_cv.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_move_assignable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_move_assignable.h index 5b049e5c601..6867ccd5b6b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_move_assignable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_move_assignable.h @@ -18,11 +18,13 @@ #include "../__type_traits/add_rvalue_reference.h" #include "../__type_traits/is_assignable.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_move_constructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_move_constructible.h index 6d58e0b82bf..83938f1e34e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_move_constructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_move_constructible.h @@ -18,11 +18,13 @@ #include "../__type_traits/add_rvalue_reference.h" #include "../__type_traits/is_constructible.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_assignable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_assignable.h index 97a5f766a45..c1636e2c80e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_assignable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_assignable.h @@ -19,11 +19,13 @@ #include "../__type_traits/is_scalar.h" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_constructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_constructible.h index 8541a4bef91..74434bbd72f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_constructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_constructible.h @@ -19,11 +19,13 @@ #include "../__type_traits/is_scalar.h" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_convertible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_convertible.h index bbd398dad7b..a3724be1551 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_convertible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_convertible.h @@ -22,11 +22,13 @@ #include "../__type_traits/lazy.h" #include "../__utility/declval.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_assignable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_assignable.h index 68bf4cef285..f0628487a3f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_assignable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_assignable.h @@ -18,11 +18,13 @@ #include "../__type_traits/add_lvalue_reference.h" #include "../__type_traits/is_nothrow_assignable.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_constructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_constructible.h index 3f5302834fc..de712688760 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_constructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_constructible.h @@ -18,11 +18,13 @@ #include "../__type_traits/add_lvalue_reference.h" #include "../__type_traits/is_nothrow_constructible.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_default_constructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_default_constructible.h index 9d407025adf..9341d933171 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_default_constructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_default_constructible.h @@ -16,11 +16,13 @@ #include "../__type_traits/is_nothrow_constructible.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_destructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_destructible.h index e8f843181dd..3e969f8dc0d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_destructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_destructible.h @@ -22,11 +22,13 @@ #include "../__utility/declval.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_assignable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_assignable.h index a2d3caaf934..1bb0370bdf2 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_assignable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_assignable.h @@ -18,11 +18,13 @@ #include "../__type_traits/add_rvalue_reference.h" #include "../__type_traits/is_nothrow_assignable.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_constructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_constructible.h index 57cf7fabcd6..39bb2541d0f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_constructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_constructible.h @@ -17,11 +17,13 @@ #include "../__type_traits/add_rvalue_reference.h" #include "../__type_traits/is_nothrow_constructible.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_null_pointer.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_null_pointer.h index fb9874052fc..bceb5b8c7bf 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_null_pointer.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_null_pointer.h @@ -18,11 +18,13 @@ #include "../__type_traits/remove_cv.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_object.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_object.h index 7be9b3b7afd..4858a867a5f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_object.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_object.h @@ -20,11 +20,13 @@ #include "../__type_traits/is_scalar.h" #include "../__type_traits/is_union.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_pod.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_pod.h index 5ec7f7bd39d..5ddb2c7e963 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_pod.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_pod.h @@ -21,11 +21,13 @@ #include "../__type_traits/is_trivially_destructible.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_pointer.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_pointer.h index 2eff37ba0fc..4627e0f3bc5 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_pointer.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_pointer.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../__type_traits/remove_cv.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_polymorphic.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_polymorphic.h index 7fa80ec8467..203afbc9c25 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_polymorphic.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_polymorphic.h @@ -17,11 +17,13 @@ #include "../__type_traits/enable_if.h" #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_primary_template.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_primary_template.h index bdff70f97da..3724e453b6e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_primary_template.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_primary_template.h @@ -19,11 +19,13 @@ #include "../__type_traits/is_valid_expansion.h" #include "../__type_traits/void_t.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_reference.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_reference.h index 3b79fb89c3e..92534650ab9 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_reference.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_reference.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_reference_wrapper.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_reference_wrapper.h index f2d73a359c9..961b0fd3b80 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_reference_wrapper.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_reference_wrapper.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../__type_traits/remove_cv.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_referenceable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_referenceable.h index 8d61a50c59e..740f0d8f5f6 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_referenceable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_referenceable.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../__type_traits/is_same.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h index ec24fa50ef9..80266e4440a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h index ee43b1b3269..f52d58e06f1 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h @@ -22,11 +22,13 @@ #include "../__type_traits/is_pointer.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_scoped_enum.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_scoped_enum.h index 94a530b11f5..76061a2f85d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_scoped_enum.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_scoped_enum.h @@ -19,11 +19,13 @@ #include "../__type_traits/is_enum.h" #include "../__type_traits/underlying_type.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_signed.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_signed.h index e7f2c1543f2..996f1ead6cb 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_signed.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_signed.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../__type_traits/is_arithmetic.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_signed_integer.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_signed_integer.h index bbaba0140b2..79e77803e5e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_signed_integer.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_signed_integer.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_standard_layout.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_standard_layout.h index bf367af2e6d..d503bc58c49 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_standard_layout.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_standard_layout.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h index 79a875993d8..a8ed08fa41d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h @@ -28,11 +28,13 @@ #include "../__utility/declval.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivial.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivial.h index 0f79032f701..9d44cf95bc1 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivial.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivial.h @@ -18,11 +18,13 @@ #include "../__type_traits/is_trivially_copyable.h" #include "../__type_traits/is_trivially_default_constructible.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_assignable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_assignable.h index 5adb13e4878..925e30f3c8f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_assignable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_assignable.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../__type_traits/is_scalar.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_constructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_constructible.h index 0e7ab17cdb4..1b221e5c4dc 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_constructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_constructible.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../__type_traits/is_scalar.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_assignable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_assignable.h index 7af35798147..0a3fa2c880a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_assignable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_assignable.h @@ -18,11 +18,13 @@ #include "../__type_traits/add_lvalue_reference.h" #include "../__type_traits/is_trivially_assignable.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_constructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_constructible.h index c659dc65b78..6bb889d84fb 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_constructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_constructible.h @@ -18,11 +18,13 @@ #include "../__type_traits/add_lvalue_reference.h" #include "../__type_traits/is_trivially_constructible.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copyable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copyable.h index 213eaeee173..6442d34793e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copyable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copyable.h @@ -18,11 +18,13 @@ #include "../__type_traits/is_scalar.h" #include "../__type_traits/remove_all_extents.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_default_constructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_default_constructible.h index 844b14b198d..dabd5d82473 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_default_constructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_default_constructible.h @@ -16,11 +16,13 @@ #include "../__type_traits/is_trivially_constructible.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_destructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_destructible.h index 45b718791bd..8fe43445498 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_destructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_destructible.h @@ -20,11 +20,13 @@ #include "../__type_traits/is_scalar.h" #include "../__type_traits/remove_all_extents.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_move_assignable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_move_assignable.h index 30d002e79e9..e2527240f49 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_move_assignable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_move_assignable.h @@ -18,11 +18,13 @@ #include "../__type_traits/add_rvalue_reference.h" #include "../__type_traits/is_trivially_assignable.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_move_constructible.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_move_constructible.h index 99ecf5f13d7..19e2abacafb 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_move_constructible.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_move_constructible.h @@ -17,11 +17,13 @@ #include "../__type_traits/add_rvalue_reference.h" #include "../__type_traits/is_trivially_constructible.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_unbounded_array.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_unbounded_array.h index 28563057dae..54dd54b3f9c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_unbounded_array.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_unbounded_array.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_union.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_union.h index 655f4984d32..66302b3bee7 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_union.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_union.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../__type_traits/remove_cv.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned.h index 551ba0b14d5..c8a1582d985 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned.h @@ -18,11 +18,13 @@ #include "../__type_traits/is_arithmetic.h" #include "../__type_traits/is_integral.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned_integer.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned_integer.h index 5cf645c9572..1685602f642 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned_integer.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned_integer.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_valid_expansion.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_valid_expansion.h index f7ce4fb7f61..7f7396c1588 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_valid_expansion.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_valid_expansion.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h index ff8987f5949..95a3975d238 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h @@ -18,11 +18,13 @@ #include "../__type_traits/is_same.h" #include "../__type_traits/remove_cvref.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_volatile.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_volatile.h index b0c8698089e..f893a1c6557 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_volatile.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/is_volatile.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/lazy.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/lazy.h index 9982483380f..1a4370c0577 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/lazy.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/lazy.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_32_64_or_128_bit.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_32_64_or_128_bit.h index 90f0efe55ac..869b44553e1 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_32_64_or_128_bit.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_32_64_or_128_bit.h @@ -21,11 +21,13 @@ #include "../__type_traits/make_unsigned.h" #include "../cstdint" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_const_lvalue_ref.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_const_lvalue_ref.h index 30248365aa2..02eb959049c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_const_lvalue_ref.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_const_lvalue_ref.h @@ -16,11 +16,13 @@ #include "../__type_traits/remove_reference.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_signed.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_signed.h index eee78f5a504..e6fcbe59acd 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_signed.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_signed.h @@ -21,11 +21,13 @@ #include "../__type_traits/remove_cv.h" #include "../__type_traits/type_list.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_unsigned.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_unsigned.h index e4a8648f8eb..45bb3a2e613 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_unsigned.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/make_unsigned.h @@ -24,11 +24,13 @@ #include "../__type_traits/type_list.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/maybe_const.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/maybe_const.h index 654d28b8646..629ae58c64a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/maybe_const.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/maybe_const.h @@ -16,11 +16,13 @@ #include "../__type_traits/conditional.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/nat.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/nat.h index fda3b1b17f8..34b7e404c67 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/nat.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/nat.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/negation.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/negation.h index dde1f3ec12a..ed2d82aaef7 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/negation.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/negation.h @@ -16,11 +16,13 @@ #include "../__type_traits/integral_constant.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/promote.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/promote.h index 4dcde79c22b..e712b8377de 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/promote.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/promote.h @@ -19,11 +19,13 @@ #include "../__utility/declval.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/rank.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/rank.h index 41e60e8077a..e603cbfd349 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/rank.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/rank.h @@ -17,11 +17,13 @@ #include "../__type_traits/integral_constant.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_all_extents.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_all_extents.h index 03b07e79e4b..3697b3e827f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_all_extents.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_all_extents.h @@ -16,11 +16,13 @@ #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_const.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_const.h index e72135dfc1d..09149f82c7c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_const.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_const.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_const_ref.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_const_ref.h index 7b9cb321f3b..0ab216d13c5 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_const_ref.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_const_ref.h @@ -17,11 +17,13 @@ #include "../__type_traits/remove_const.h" #include "../__type_traits/remove_reference.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h index d858bcc8b8a..62031133e0b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h @@ -17,11 +17,13 @@ #include "../__type_traits/remove_const.h" #include "../__type_traits/remove_volatile.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_cvref.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_cvref.h index 4b946579590..693548fd63b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_cvref.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_cvref.h @@ -18,11 +18,13 @@ #include "../__type_traits/remove_cv.h" #include "../__type_traits/remove_reference.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_extent.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_extent.h index 1cf6f3eb93b..8162ea616a7 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_extent.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_extent.h @@ -16,11 +16,13 @@ #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_pointer.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_pointer.h index d152a362bc7..36f19427a79 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_pointer.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_pointer.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h index 0e800ba4702..164ef839555 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h @@ -16,11 +16,13 @@ #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_volatile.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_volatile.h index 1ccb3ff08b5..1aa4faeed0f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_volatile.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/remove_volatile.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/result_of.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/result_of.h index 58378ff2938..88b9708ac03 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/result_of.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/result_of.h @@ -16,11 +16,13 @@ #include "../__functional/invoke.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/type_identity.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/type_identity.h index 125fff289c6..53313ce1ac8 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/type_identity.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/type_identity.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/type_list.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/type_list.h index 3e287075900..899bc2f9268 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/type_list.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/type_list.h @@ -16,11 +16,13 @@ #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/underlying_type.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/underlying_type.h index ac083427537..d9ab8b629ec 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/underlying_type.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/underlying_type.h @@ -16,11 +16,13 @@ #include "../__type_traits/is_enum.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/void_t.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/void_t.h index 4aeb40f0b85..2ecfb118f4b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/void_t.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__type_traits/void_t.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/as_const.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/as_const.h index 1fd69cfda50..c8881704dc6 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/as_const.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/as_const.h @@ -16,11 +16,13 @@ #include "../__type_traits/add_const.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/auto_cast.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/auto_cast.h index 3712bd10d8c..82ab6acc5e8 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/auto_cast.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/auto_cast.h @@ -17,11 +17,13 @@ #include "../__type_traits/decay.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #define _LIBCUDACXX_AUTO_CAST(expr) static_cast<_CUDA_VSTD::decay_t>(expr) diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/cmp.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/cmp.h index 4f48dd02463..a6fafb6f4fc 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/cmp.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/cmp.h @@ -27,11 +27,13 @@ #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/convert_to_integral.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/convert_to_integral.h index 7f4974b71b5..3b4ebb6c048 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/convert_to_integral.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/convert_to_integral.h @@ -19,11 +19,13 @@ #include "../__type_traits/is_floating_point.h" #include "../__type_traits/underlying_type.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/declval.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/declval.h index e7be76bb445..e936f84705f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/declval.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/declval.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/exception_guard.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/exception_guard.h index 94a84e71b08..45bae1c7d9c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/exception_guard.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/exception_guard.h @@ -19,11 +19,13 @@ #include "../__utility/exchange.h" #include "../__utility/move.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/exchange.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/exchange.h index 883b5330b4b..b564de57d28 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/exchange.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/exchange.h @@ -19,11 +19,13 @@ #include "../__utility/forward.h" #include "../__utility/move.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/forward.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/forward.h index 0b093d94cd3..bbc4a691665 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/forward.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/forward.h @@ -19,11 +19,13 @@ #include "../__type_traits/remove_reference.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/forward_like.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/forward_like.h index 0a65b7e37d2..3047402bc2b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/forward_like.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/forward_like.h @@ -20,11 +20,13 @@ #include "../__type_traits/is_reference.h" #include "../__type_traits/remove_reference.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/in_place.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/in_place.h index e7648ec8dbe..90bb9e53e91 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/in_place.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/in_place.h @@ -18,11 +18,13 @@ #include "../__type_traits/remove_reference.h" #include "../__type_traits/remove_cvref.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/integer_sequence.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/integer_sequence.h index e9ee2d7e4bf..a99b4be8b6f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/integer_sequence.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/integer_sequence.h @@ -16,11 +16,13 @@ #include "../__type_traits/is_integral.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/move.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/move.h index 6726e4aaaa6..0577bd7c656 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/move.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/move.h @@ -20,11 +20,13 @@ #include "../__type_traits/is_nothrow_move_constructible.h" #include "../__type_traits/remove_reference.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/pair.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/pair.h index 718aa29f887..613566c724a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/pair.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/pair.h @@ -59,11 +59,13 @@ #include #endif // defined(__cuda_std__) && !defined(__CUDACC_RTC__) -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/piecewise_construct.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/piecewise_construct.h index fc503f819b3..2adf941e552 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/piecewise_construct.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/piecewise_construct.h @@ -14,11 +14,13 @@ #include <__config> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/priority_tag.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/priority_tag.h index 4c636309484..d1d7776199d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/priority_tag.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/priority_tag.h @@ -16,11 +16,13 @@ #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/rel_ops.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/rel_ops.h index aed8fc43d43..bfdcb23731b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/rel_ops.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/rel_ops.h @@ -17,11 +17,13 @@ #include "../__utility/forward.h" #include "../__utility/move.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/swap.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/swap.h index cc5ed96de7b..3e55f1b9e7d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/swap.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/swap.h @@ -23,11 +23,13 @@ #include "../__utility/move.h" #include "../cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/to_underlying.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/to_underlying.h index bd91e060165..8d947214bcc 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/to_underlying.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/to_underlying.h @@ -17,11 +17,13 @@ #include "../__type_traits/underlying_type.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/unreachable.h b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/unreachable.h index 5ef2e996f00..6759c9534e6 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/unreachable.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__utility/unreachable.h @@ -16,11 +16,13 @@ #include "../cstdlib" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/__verbose_abort b/libcudacxx/include/cuda/std/detail/libcxx/include/__verbose_abort index 862ecd08789..9d4256a5b2c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/__verbose_abort +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/__verbose_abort @@ -17,11 +17,13 @@ #include "__availability" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // Provide a default implementation of __libcpp_verbose_abort if we know that neither the built // library nor the user is providing one. Otherwise, just declare it and use the one from the diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/algorithm b/libcudacxx/include/cuda/std/detail/libcxx/include/algorithm index ee1f01f6841..dc4b0402699 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/algorithm +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/algorithm @@ -692,11 +692,13 @@ template #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/any b/libcudacxx/include/cuda/std/detail/libcxx/include/any index 83ab42b7456..4d8ed625ad1 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/any +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/any @@ -88,11 +88,13 @@ namespace std { #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header namespace std { class _LIBCUDACXX_EXCEPTION_ABI _LIBCUDACXX_AVAILABILITY_BAD_ANY_CAST bad_any_cast : public bad_cast diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/array b/libcudacxx/include/cuda/std/detail/libcxx/include/array index 2e3a97e5e7b..982d48d8081 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/array +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/array @@ -159,11 +159,13 @@ template const T&& get(const array&&) noexce #include "__tuple_dir/tuple_element.h" #include "__tuple_dir/tuple_size.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/atomic b/libcudacxx/include/cuda/std/detail/libcxx/include/atomic index 1d045e42b37..ecf51441a98 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/atomic +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/atomic @@ -572,11 +572,13 @@ void atomic_signal_fence(memory_order m) noexcept; #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifdef _LIBCUDACXX_HAS_NO_THREADS # error is not supported on this single threaded system diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/barrier b/libcudacxx/include/cuda/std/detail/libcxx/include/barrier index ad4298b3e8e..dc3476f9ff0 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/barrier +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/barrier @@ -65,11 +65,13 @@ namespace std #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifdef _LIBCUDACXX_HAS_NO_THREADS # error is not supported on this single threaded system diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/bit b/libcudacxx/include/cuda/std/detail/libcxx/include/bit index b3ea29e4e18..8c9e0486b74 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/bit +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/bit @@ -68,11 +68,13 @@ namespace std { #include <__pragma_push> #endif //__cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if defined(_LIBCUDACXX_COMPILER_MSVC) #include diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/bitset b/libcudacxx/include/cuda/std/detail/libcxx/include/bitset index cbf68020ea8..c475bfb7d9f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/bitset +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/bitset @@ -121,11 +121,13 @@ template struct hash>; #include #include <__functional_base> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/ccomplex b/libcudacxx/include/cuda/std/detail/libcxx/include/ccomplex index 3e727a933b5..fca1dcf1edb 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/ccomplex +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/ccomplex @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // hh 080623 Created diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/cctype b/libcudacxx/include/cuda/std/detail/libcxx/include/cctype index 61ae214c384..9c5d4ed617f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/cctype +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/cctype @@ -37,11 +37,13 @@ int toupper(int c); #include <__config> #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/cerrno b/libcudacxx/include/cuda/std/detail/libcxx/include/cerrno index 8f8c5533a64..1345525a81a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/cerrno +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/cerrno @@ -25,10 +25,12 @@ Macros: #include <__config> #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #endif // _LIBCUDACXX_CERRNO diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/cfenv b/libcudacxx/include/cuda/std/detail/libcxx/include/cfenv index 06e311c7014..ee1c97ea4f9 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/cfenv +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/cfenv @@ -55,11 +55,13 @@ int feupdateenv(const fenv_t* envp); #include <__config> #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/charconv b/libcudacxx/include/cuda/std/detail/libcxx/include/charconv index e51090e8fd2..432d996d24e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/charconv +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/charconv @@ -82,11 +82,13 @@ namespace std { #include <__debug> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/chrono b/libcudacxx/include/cuda/std/detail/libcxx/include/chrono index 828aa923813..3bc3a42cc84 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/chrono +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/chrono @@ -850,11 +850,13 @@ constexpr chrono::year operator ""y(unsigned lo #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // Silence NVCC warnings `long double` arising from chrono floating pointer // user-defined literals which are defined in terms of `long double`. diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/cinttypes b/libcudacxx/include/cuda/std/detail/libcxx/include/cinttypes index 8029b59ebe2..e653519672c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/cinttypes +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/cinttypes @@ -239,11 +239,13 @@ uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int #include "cstdint" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/climits b/libcudacxx/include/cuda/std/detail/libcxx/include/climits index 5574afe450a..2a12d6ac269 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/climits +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/climits @@ -48,11 +48,13 @@ Macros: #include <__pragma_push> #endif //__cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if defined(_LIBCUDACXX_COMPILER_MSVC) #include "support/win32/limits_msvc_win32.h" diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/clocale b/libcudacxx/include/cuda/std/detail/libcxx/include/clocale index 52c61aaa6a3..45baa98b380 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/clocale +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/clocale @@ -37,11 +37,13 @@ lconv* localeconv(); #include <__config> #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/cmath b/libcudacxx/include/cuda/std/detail/libcxx/include/cmath index 7638eaf5db1..422f2f19dcf 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/cmath +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/cmath @@ -320,11 +320,13 @@ long double truncl(long double x); #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifdef _LIBCUDACXX_COMPILER_NVRTC #include "climits" diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/codecvt b/libcudacxx/include/cuda/std/detail/libcxx/include/codecvt index 4c02915ab10..b8a4dfa66d6 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/codecvt +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/codecvt @@ -57,11 +57,13 @@ class codecvt_utf8_utf16 #include <__config> #include <__locale> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/compare b/libcudacxx/include/cuda/std/detail/libcxx/include/compare index 63d2b3f20b1..b76f7d52019 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/compare +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/compare @@ -50,11 +50,13 @@ namespace std { #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/complex b/libcudacxx/include/cuda/std/detail/libcxx/include/complex index e064ade753b..19bd33c22a2 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/complex +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/complex @@ -267,11 +267,13 @@ template complex tanh (const complex&); #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header # if _LIBCUDACXX_CUDA_ABI_VERSION > 3 # define _LIBCUDACXX_COMPLEX_ALIGNAS(V) _ALIGNAS(V) diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/complex.h b/libcudacxx/include/cuda/std/detail/libcxx/include/complex.h index 22ad5415020..c49a404d52b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/complex.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/complex.h @@ -19,11 +19,13 @@ #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifdef __cplusplus diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/concepts b/libcudacxx/include/cuda/std/detail/libcxx/include/concepts index b68750dd601..63ad38c0980 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/concepts +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/concepts @@ -162,10 +162,12 @@ namespace std { #include "version" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #endif // _LIBCUDACXX_CONCEPTS diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/condition_variable b/libcudacxx/include/cuda/std/detail/libcxx/include/condition_variable index ded33441f72..b7a25e87ecc 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/condition_variable +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/condition_variable @@ -110,11 +110,13 @@ public: #include <__mutex_base> #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifndef _LIBCUDACXX_HAS_NO_THREADS diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/csetjmp b/libcudacxx/include/cuda/std/detail/libcxx/include/csetjmp index a5faf91b9c2..fc05c77cd54 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/csetjmp +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/csetjmp @@ -33,11 +33,13 @@ void longjmp(jmp_buf env, int val); #include <__config> #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/csignal b/libcudacxx/include/cuda/std/detail/libcxx/include/csignal index 39259812809..9929a25fd4d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/csignal +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/csignal @@ -42,11 +42,13 @@ int raise(int sig); #include <__config> #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/cstdarg b/libcudacxx/include/cuda/std/detail/libcxx/include/cstdarg index aca5c592846..4e938d64101 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/cstdarg +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/cstdarg @@ -37,11 +37,13 @@ Types: #include <__pragma_push> #endif //__cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/cstdbool b/libcudacxx/include/cuda/std/detail/libcxx/include/cstdbool index 23a2ef4504e..08804a82182 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/cstdbool +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/cstdbool @@ -24,11 +24,13 @@ Macros: #include <__pragma_push> #endif //__cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #undef __bool_true_false_are_defined #define __bool_true_false_are_defined 1 diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/cstddef b/libcudacxx/include/cuda/std/detail/libcxx/include/cstddef index 83f0d8c2994..a61c54ccb34 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/cstddef +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/cstddef @@ -48,11 +48,13 @@ Types: #include <__pragma_push> #endif //__cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifndef __cuda_std__ // Don't include our own ; we don't want to declare ::nullptr_t. diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/cstdint b/libcudacxx/include/cuda/std/detail/libcxx/include/cstdint index ef6ff78accf..229e0ba0973 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/cstdint +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/cstdint @@ -157,11 +157,13 @@ Types: #include <__pragma_push> #endif //__cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/cstdio b/libcudacxx/include/cuda/std/detail/libcxx/include/cstdio index c067f6177d7..b30915412e0 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/cstdio +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/cstdio @@ -98,11 +98,13 @@ void perror(const char* s); #include <__config> #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/cstdlib b/libcudacxx/include/cuda/std/detail/libcxx/include/cstdlib index a0bf255c15a..3708a5793af 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/cstdlib +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/cstdlib @@ -94,11 +94,13 @@ void *aligned_alloc(size_t alignment, size_t size); // C11 #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if defined(_LIBCUDACXX_COMPILER_CLANG_CUDA) # define _LIBCUDACXX_UNREACHABLE() __builtin_unreachable() diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/cstring b/libcudacxx/include/cuda/std/detail/libcxx/include/cstring index 7e4a904ac25..7bdca8cfff0 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/cstring +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/cstring @@ -62,11 +62,13 @@ size_t strlen(const char* s); #include <__pragma_push> #endif //__simet__ <- a tribute to ogiroux -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/ctgmath b/libcudacxx/include/cuda/std/detail/libcxx/include/ctgmath index 11c0746caee..cd9214851c3 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/ctgmath +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/ctgmath @@ -21,10 +21,12 @@ #include #include "cmath" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #endif // _LIBCUDACXX_CTGMATH diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/ctime b/libcudacxx/include/cuda/std/detail/libcxx/include/ctime index fa17dfa0f36..0dc842d6f1f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/ctime +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/ctime @@ -59,11 +59,13 @@ typedef long long int time_t; #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/ctype.h b/libcudacxx/include/cuda/std/detail/libcxx/include/ctype.h index 173c16e4273..f9210f03c08 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/ctype.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/ctype.h @@ -31,11 +31,13 @@ int toupper(int c); #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include_next diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/cwchar b/libcudacxx/include/cuda/std/detail/libcxx/include/cwchar index 9d0062a94b8..71f24a85fe9 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/cwchar +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/cwchar @@ -106,11 +106,13 @@ size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len, #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/cwctype b/libcudacxx/include/cuda/std/detail/libcxx/include/cwctype index 3a1ccc36a26..6000556dfb6 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/cwctype +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/cwctype @@ -53,11 +53,13 @@ wctrans_t wctrans(const char* property); #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/deque b/libcudacxx/include/cuda/std/detail/libcxx/include/deque index 271ba5e3720..50fc3040c1c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/deque +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/deque @@ -167,11 +167,13 @@ template #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/errno.h b/libcudacxx/include/cuda/std/detail/libcxx/include/errno.h index 589d29d5092..9e6007b093c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/errno.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/errno.h @@ -24,11 +24,13 @@ #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include_next diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/exception b/libcudacxx/include/cuda/std/detail/libcxx/include/exception index 4efc1841828..3406e3a022b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/exception +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/exception @@ -89,11 +89,13 @@ template void rethrow_if_nested(const E& e); #include #endif -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD_NOVERSION // purposefully not using versioning namespace diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/expected b/libcudacxx/include/cuda/std/detail/libcxx/include/expected index 68f61f6e1d5..f8ec31acc8b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/expected +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/expected @@ -32,10 +32,12 @@ namespace std { #include "version" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #endif // _LIBCUDACXX_EXPECTED diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/__config b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/__config index 802708e3277..b4ed65d3f06 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/__config +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/__config @@ -12,11 +12,13 @@ #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #define _LIBCUDACXX_BEGIN_NAMESPACE_EXPERIMENTAL namespace std { namespace experimental { #define _LIBCUDACXX_END_NAMESPACE_EXPERIMENTAL } } diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/algorithm b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/algorithm index 1da9a4a26f8..0da20ba4316 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/algorithm +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/algorithm @@ -37,11 +37,13 @@ ForwardIterator search(ForwardIterator first, ForwardIterator last, #include <__debug> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/coroutine b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/coroutine index bd94e5b6d02..de79ebefe18 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/coroutine +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/coroutine @@ -53,11 +53,13 @@ template struct hash>; #include #include <__debug> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifdef _LIBCUDACXX_HAS_NO_COROUTINES # if defined(_LIBCUDACXX_WARNING) diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/deque b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/deque index 06673b613bc..2eaf13eb780 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/deque +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/deque @@ -32,11 +32,13 @@ namespace pmr { #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_LFTS_PMR diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/filesystem b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/filesystem index 736b2917302..2b5e9b033ef 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/filesystem +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/filesystem @@ -232,11 +232,13 @@ #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/forward_list b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/forward_list index 2222319f75a..382a18a1947 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/forward_list +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/forward_list @@ -32,11 +32,13 @@ namespace pmr { #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_LFTS_PMR diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/functional b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/functional index e45c071a8d6..b049e9bbd25 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/functional +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/functional @@ -96,11 +96,13 @@ inline namespace fundamentals_v1 { #include <__debug> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/list b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/list index 8f6fbced635..6eee0153541 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/list +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/list @@ -32,11 +32,13 @@ namespace pmr { #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_LFTS_PMR diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/map b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/map index 339b149f623..55cfed939f4 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/map +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/map @@ -37,11 +37,13 @@ namespace pmr { #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_LFTS_PMR diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/memory_resource b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/memory_resource index 93e62b656f2..6a718f23a99 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/memory_resource +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/memory_resource @@ -77,11 +77,13 @@ namespace pmr { #include #include <__debug> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/propagate_const b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/propagate_const index 70afdfa086b..53c2c154ac6 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/propagate_const +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/propagate_const @@ -106,11 +106,15 @@ */ -#include #if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#include + +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if _LIBCUDACXX_STD_VER > 11 #include diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/regex b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/regex index ef2dc3aea12..91e931a2c2c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/regex +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/regex @@ -40,11 +40,13 @@ namespace pmr { #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_LFTS_PMR diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/set b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/set index a267b7acd1c..e6e313f154c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/set +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/set @@ -37,11 +37,13 @@ namespace pmr { #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_LFTS_PMR diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/simd b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/simd index ed37b0f212b..b5cfb3bc72a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/simd +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/simd @@ -655,11 +655,13 @@ public: #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_EXPERIMENTAL_SIMD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/string b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/string index 6509bd8b9cd..b2b721fd39a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/string +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/string @@ -41,11 +41,13 @@ namespace pmr { #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_LFTS_PMR diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/type_traits b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/type_traits index c73143bbb0c..64e1e997a7d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/type_traits +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/type_traits @@ -75,11 +75,13 @@ inline namespace fundamentals_v1 { #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_LFTS diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/unordered_map b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/unordered_map index a110a918fe0..524808b017b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/unordered_map +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/unordered_map @@ -43,11 +43,13 @@ namespace pmr { #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_LFTS_PMR diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/unordered_set b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/unordered_set index 4714c8421f5..48f571e5e22 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/unordered_set +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/unordered_set @@ -37,11 +37,13 @@ namespace pmr { #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_LFTS_PMR diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/utility b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/utility index 6d2c15d5704..d550a030472 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/utility +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/utility @@ -33,11 +33,13 @@ inline namespace fundamentals_v1 { #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_LFTS diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/vector b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/vector index 31c06fca578..7ad00b07720 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/vector +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/experimental/vector @@ -32,11 +32,13 @@ namespace pmr { #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_LFTS_PMR diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/ext/hash_map b/libcudacxx/include/cuda/std/detail/libcxx/include/ext/hash_map index 4dbebc16f3b..27dfd8a745d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/ext/hash_map +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/ext/hash_map @@ -216,11 +216,13 @@ template #endif #endif -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header namespace __gnu_cxx { diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/fenv.h b/libcudacxx/include/cuda/std/detail/libcxx/include/fenv.h index 766517eea32..030e0e1fa0b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/fenv.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/fenv.h @@ -52,11 +52,13 @@ int feupdateenv(const fenv_t* envp); #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include_next diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/filesystem b/libcudacxx/include/cuda/std/detail/libcxx/include/filesystem index 3ec35cdee0f..a3498a7d139 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/filesystem +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/filesystem @@ -247,11 +247,13 @@ #include <__debug> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/float.h b/libcudacxx/include/cuda/std/detail/libcxx/include/float.h index 404eebabce1..523fbb09499 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/float.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/float.h @@ -74,11 +74,13 @@ #include <__pragma_push> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include_next diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/forward_list b/libcudacxx/include/cuda/std/detail/libcxx/include/forward_list index 2fa0e3ebc2d..ca66cdc6055 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/forward_list +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/forward_list @@ -185,11 +185,13 @@ template #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/fstream b/libcudacxx/include/cuda/std/detail/libcxx/include/fstream index e86f7427eae..deeae835588 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/fstream +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/fstream @@ -187,11 +187,13 @@ typedef basic_fstream wfstream; #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/functional b/libcudacxx/include/cuda/std/detail/libcxx/include/functional index 1e13ca7a14c..9410a839f53 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/functional +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/functional @@ -541,10 +541,12 @@ POLICY: For non-variadic implementations, the number of arguments is limited #include "type_traits" #include "version" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #endif // _LIBCUDACXX_FUNCTIONAL diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/future b/libcudacxx/include/cuda/std/detail/libcxx/include/future index c911590b2aa..3e2f4aaf12b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/future +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/future @@ -369,11 +369,13 @@ template struct uses_allocator, Alloc>; #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifdef _LIBCUDACXX_HAS_NO_THREADS #error is not supported on this single threaded system diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/initializer_list b/libcudacxx/include/cuda/std/detail/libcxx/include/initializer_list index 303f8f343b7..15d456d80ae 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/initializer_list +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/initializer_list @@ -47,11 +47,13 @@ template const E* end(initializer_list il) noexcept; // constexpr in #include "cstddef" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header namespace std // purposefully not versioned { diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/inttypes.h b/libcudacxx/include/cuda/std/detail/libcxx/include/inttypes.h index abc3e0896f7..08ba7732997 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/inttypes.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/inttypes.h @@ -237,11 +237,13 @@ uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header /* C99 stdlib (e.g. glibc < 2.18) does not provide format macros needed for C++11 unless __STDC_FORMAT_MACROS is defined diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/iomanip b/libcudacxx/include/cuda/std/detail/libcxx/include/iomanip index 2f01d9199ed..8e131d31a61 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/iomanip +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/iomanip @@ -47,11 +47,13 @@ template #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/ios b/libcudacxx/include/cuda/std/detail/libcxx/include/ios index eb1c5607397..96bebb23e9e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/ios +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/ios @@ -219,11 +219,13 @@ storage-class-specifier const error_category& iostream_category() noexcept; #include // for __xindex_ #endif -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/iosfwd b/libcudacxx/include/cuda/std/detail/libcxx/include/iosfwd index 4b705112043..7d05057127b 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/iosfwd +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/iosfwd @@ -100,11 +100,13 @@ typedef fpos::state_type> wstreampos; #include "__fwd/string.h" #include "version" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/iostream b/libcudacxx/include/cuda/std/detail/libcxx/include/iostream index 1863a346f5b..4ee967179bc 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/iostream +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/iostream @@ -39,11 +39,13 @@ extern wostream wclog; #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/istream b/libcudacxx/include/cuda/std/detail/libcxx/include/istream index 2834f6dedd3..4fbb80742b9 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/istream +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/istream @@ -162,11 +162,13 @@ template #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/iterator b/libcudacxx/include/cuda/std/detail/libcxx/include/iterator index 0b5ba4590bb..a4ec8a9ef29 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/iterator +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/iterator @@ -731,11 +731,13 @@ template constexpr const E* data(initializer_list il) noexcept; #endif // _LIBCUDACXX_HAS_NO_SPACESHIP_OPERATOR #include "concepts" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/latch b/libcudacxx/include/cuda/std/detail/libcxx/include/latch index 6ed62527f6b..d04356384c1 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/latch +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/latch @@ -50,11 +50,13 @@ namespace std #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifdef _LIBCUDACXX_HAS_NO_THREADS # error is not supported on this single threaded system diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/limits b/libcudacxx/include/cuda/std/detail/libcxx/include/limits index 942ef9e039e..4c12ba5cbcc 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/limits +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/limits @@ -118,11 +118,13 @@ template<> class numeric_limits; #include <__pragma_push> #endif //__cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if defined(_LIBCUDACXX_COMPILER_MSVC) #include "support/win32/limits_msvc_win32.h" diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/limits.h b/libcudacxx/include/cuda/std/detail/libcxx/include/limits.h index 29a3601f7fb..5221c0d0ef2 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/limits.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/limits.h @@ -41,11 +41,13 @@ #include <__pragma_push> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifndef __GNUC__ #include_next diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/list b/libcudacxx/include/cuda/std/detail/libcxx/include/list index 2adcfd54492..a5b993ca5e1 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/list +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/list @@ -190,11 +190,13 @@ template #include <__debug> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/locale b/libcudacxx/include/cuda/std/detail/libcxx/include/locale index 5c1e61d39f8..642c4c253ac 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/locale +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/locale @@ -207,11 +207,13 @@ template class messages_byname; #include <__bsd_locale_fallbacks.h> #endif -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/locale.h b/libcudacxx/include/cuda/std/detail/libcxx/include/locale.h index 29d1f4cc1ce..ab481d75651 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/locale.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/locale.h @@ -35,11 +35,13 @@ #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include_next diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/map b/libcudacxx/include/cuda/std/detail/libcxx/include/map index 9d7c419ef3e..857ad90be35 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/map +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/map @@ -486,11 +486,13 @@ template #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/math.h b/libcudacxx/include/cuda/std/detail/libcxx/include/math.h index 2215e722e82..1593af9a2ba 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/math.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/math.h @@ -293,11 +293,13 @@ long double truncl(long double x); #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #define _LIBCUDACXX_STDLIB_INCLUDE_NEXT #include diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/memory b/libcudacxx/include/cuda/std/detail/libcxx/include/memory index 2dbae984671..29a252aa169 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/memory +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/memory @@ -704,11 +704,13 @@ void* align(size_t alignment, size_t size, void*& ptr, size_t& space); #include <__pragma_push> #endif //__cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/mutex b/libcudacxx/include/cuda/std/detail/libcxx/include/mutex index a3979a102e1..962afc2ae13 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/mutex +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/mutex @@ -195,11 +195,13 @@ template #include #include <__threading_support> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/new b/libcudacxx/include/cuda/std/detail/libcxx/include/new index 304fddcda94..75200a109fe 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/new +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/new @@ -106,11 +106,13 @@ void operator delete[](void* ptr, void*) noexcept; #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if !defined(__cpp_sized_deallocation) || __cpp_sized_deallocation < 201309L #define _LIBCUDACXX_HAS_NO_LANGUAGE_SIZED_DEALLOCATION diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/numeric b/libcudacxx/include/cuda/std/detail/libcxx/include/numeric index e240f28d99d..c849b2199d3 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/numeric +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/numeric @@ -161,11 +161,13 @@ floating_point midpoint(floating_point a, floating_point b); // C++20 #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/optional b/libcudacxx/include/cuda/std/detail/libcxx/include/optional index 8112bd4c47e..81ff4a8f18f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/optional +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/optional @@ -205,11 +205,13 @@ template #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifndef __cuda_std__ namespace std // purposefully not using versioning namespace diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/ostream b/libcudacxx/include/cuda/std/detail/libcxx/include/ostream index c196ba70cdc..579a9d74604 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/ostream +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/ostream @@ -142,11 +142,13 @@ template #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/queue b/libcudacxx/include/cuda/std/detail/libcxx/include/queue index 181e165c2a5..f0f1491343d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/queue +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/queue @@ -191,11 +191,13 @@ template #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/random b/libcudacxx/include/cuda/std/detail/libcxx/include/random index 73b048748d2..a4d63ecb8d1 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/random +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/random @@ -1645,11 +1645,13 @@ class piecewise_linear_distribution #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/ratio b/libcudacxx/include/cuda/std/detail/libcxx/include/ratio index 672626f16fe..af7f2e32f8a 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/ratio +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/ratio @@ -91,11 +91,13 @@ typedef ratio<1000000000000000000000000, 1> yotta; // not supported #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/regex b/libcudacxx/include/cuda/std/detail/libcxx/include/regex index 46b9280b9d5..f03b40bba67 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/regex +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/regex @@ -770,11 +770,13 @@ typedef regex_token_iterator wsregex_token_iterator; #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/scoped_allocator b/libcudacxx/include/cuda/std/detail/libcxx/include/scoped_allocator index a249b9eeb6b..c9f82d77154 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/scoped_allocator +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/scoped_allocator @@ -109,11 +109,13 @@ template #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/semaphore b/libcudacxx/include/cuda/std/detail/libcxx/include/semaphore index f6bfe4d41fa..708cae68108 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/semaphore +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/semaphore @@ -58,11 +58,13 @@ using binary_semaphore = counting_semaphore<1>; #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifdef _LIBCUDACXX_HAS_NO_THREADS # error is not supported on this single threaded system diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/set b/libcudacxx/include/cuda/std/detail/libcxx/include/set index 69508e9d090..71847e61869 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/set +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/set @@ -429,11 +429,13 @@ template #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/setjmp.h b/libcudacxx/include/cuda/std/detail/libcxx/include/setjmp.h index 0c1e9ad54af..b9f7a9ba25c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/setjmp.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/setjmp.h @@ -27,11 +27,13 @@ void longjmp(jmp_buf env, int val); #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include_next diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/shared_mutex b/libcudacxx/include/cuda/std/detail/libcxx/include/shared_mutex index 69a0f455e67..7952118318c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/shared_mutex +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/shared_mutex @@ -133,11 +133,13 @@ _LIBCUDACXX_PUSH_MACROS #include <__mutex_base> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifdef _LIBCUDACXX_HAS_NO_THREADS #error is not supported on this single threaded system diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/span b/libcudacxx/include/cuda/std/detail/libcxx/include/span index 42d880e632f..71c65b86d9e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/span +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/span @@ -157,11 +157,13 @@ template #include "cstddef" // for ptrdiff_t #include "version" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/sstream b/libcudacxx/include/cuda/std/detail/libcxx/include/sstream index ad25c7e7e1b..b3341a59800 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/sstream +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/sstream @@ -174,11 +174,13 @@ typedef basic_stringstream wstringstream; #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/stack b/libcudacxx/include/cuda/std/detail/libcxx/include/stack index 3d0ca3223fe..3bbb76bde69 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/stack +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/stack @@ -90,11 +90,13 @@ template #include <__config> #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/stdbool.h b/libcudacxx/include/cuda/std/detail/libcxx/include/stdbool.h index dae4aca58b9..f8ed36cf495 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/stdbool.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/stdbool.h @@ -21,11 +21,13 @@ #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include_next diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/stddef.h b/libcudacxx/include/cuda/std/detail/libcxx/include/stddef.h index 1052ec45afc..151b788f094 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/stddef.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/stddef.h @@ -10,11 +10,13 @@ #if defined(__need_ptrdiff_t) || defined(__need_size_t) || \ defined(__need_wchar_t) || defined(__need_NULL) || defined(__need_wint_t) -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include_next @@ -42,11 +44,13 @@ _CCCL_IMPLICIT_SYSTEM_HEADER #include <__pragma_push> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include_next diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/stdexcept b/libcudacxx/include/cuda/std/detail/libcxx/include/stdexcept index 02d678e510b..7ee06c05466 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/stdexcept +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/stdexcept @@ -57,11 +57,13 @@ public: #include <__pragma_push> #endif //__cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/stdint.h b/libcudacxx/include/cuda/std/detail/libcxx/include/stdint.h index 189c9c087bc..33db59fc4a4 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/stdint.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/stdint.h @@ -107,11 +107,13 @@ #include <__pragma_push> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header /* C99 stdlib (e.g. glibc < 2.18) does not provide macros needed for C++11 unless __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/stdio.h b/libcudacxx/include/cuda/std/detail/libcxx/include/stdio.h index 145319f36f7..37de404f600 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/stdio.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/stdio.h @@ -9,11 +9,13 @@ #if defined(__need_FILE) || defined(__need___FILE) -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include_next @@ -102,11 +104,13 @@ void perror(const char* s); #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include_next diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/stdlib.h b/libcudacxx/include/cuda/std/detail/libcxx/include/stdlib.h index abc54deae08..bb2dcd96002 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/stdlib.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/stdlib.h @@ -9,11 +9,13 @@ #if defined(__need_malloc_and_calloc) || defined(_LIBCUDACXX_STDLIB_INCLUDE_NEXT) -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if defined(_LIBCUDACXX_STDLIB_INCLUDE_NEXT) #undef _LIBCUDACXX_STDLIB_INCLUDE_NEXT @@ -92,11 +94,13 @@ void *aligned_alloc(size_t alignment, size_t size); // C11 #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include_next diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/streambuf b/libcudacxx/include/cuda/std/detail/libcxx/include/streambuf index b1ddd4417d5..0c4d6e883b3 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/streambuf +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/streambuf @@ -111,11 +111,13 @@ protected: #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/string b/libcudacxx/include/cuda/std/detail/libcxx/include/string index ee4ec891ca4..51536bfc8d8 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/string +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/string @@ -523,11 +523,13 @@ basic_string operator "" s( const char32_t *str, size_t len ); // C++1 #include "__fwd/string.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/string.h b/libcudacxx/include/cuda/std/detail/libcxx/include/string.h index 9f0f0a0f151..90c4fe48bf9 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/string.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/string.h @@ -53,11 +53,13 @@ size_t strlen(const char* s); #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include_next diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/string_view b/libcudacxx/include/cuda/std/detail/libcxx/include/string_view index 167805405ef..2c4a142259d 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/string_view +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/string_view @@ -183,11 +183,13 @@ namespace std { #include "__fwd/string_view.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/strstream b/libcudacxx/include/cuda/std/detail/libcxx/include/strstream index aaeb4e063d6..91c9427b8a7 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/strstream +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/strstream @@ -130,11 +130,13 @@ private: #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/system_error b/libcudacxx/include/cuda/std/detail/libcxx/include/system_error index c7283f4f5b1..1c641184464 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/system_error +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/system_error @@ -148,11 +148,13 @@ template <> struct hash; #include <__functional_base> #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/tgmath.h b/libcudacxx/include/cuda/std/detail/libcxx/include/tgmath.h index 3e804cdbc28..8fd93b76a81 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/tgmath.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/tgmath.h @@ -19,11 +19,13 @@ #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifdef __cplusplus diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/thread b/libcudacxx/include/cuda/std/detail/libcxx/include/thread index 4b05aead9a4..14fa13c2ffa 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/thread +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/thread @@ -96,11 +96,13 @@ void sleep_for(const chrono::duration& rel_time); #include <__threading_support> #include <__debug> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/tuple b/libcudacxx/include/cuda/std/detail/libcxx/include/tuple index bb2c8d0e241..a736505be90 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/tuple +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/tuple @@ -187,11 +187,13 @@ template #include <__pragma_push> #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/type_traits b/libcudacxx/include/cuda/std/detail/libcxx/include/type_traits index 062c344a82e..20a51a69551 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/type_traits +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/type_traits @@ -561,11 +561,13 @@ namespace std #include "cstddef" #include "version" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/typeindex b/libcudacxx/include/cuda/std/detail/libcxx/include/typeindex index c28ce638ade..6715af32386 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/typeindex +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/typeindex @@ -48,11 +48,13 @@ struct hash #include #include <__functional_base> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/typeinfo b/libcudacxx/include/cuda/std/detail/libcxx/include/typeinfo index 83ac67ff077..d44aec7039f 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/typeinfo +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/typeinfo @@ -64,11 +64,13 @@ public: #include #endif -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if defined(_LIBCUDACXX_ABI_VCRUNTIME) #include diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/unordered_map b/libcudacxx/include/cuda/std/detail/libcxx/include/unordered_map index fa3f41a9f6b..691a3a893b7 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/unordered_map +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/unordered_map @@ -415,11 +415,13 @@ template #include <__debug> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/unordered_set b/libcudacxx/include/cuda/std/detail/libcxx/include/unordered_set index 996aedbec2e..f7ee8c36ca0 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/unordered_set +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/unordered_set @@ -368,11 +368,13 @@ template #include <__debug> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_BEGIN_NAMESPACE_STD diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/utility b/libcudacxx/include/cuda/std/detail/libcxx/include/utility index fe81a993cc1..3bddc21a09c 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/utility +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/utility @@ -292,10 +292,12 @@ template #include "__tuple_dir/tuple_element.h" #include "__tuple_dir/tuple_size.h" -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #endif // _LIBCUDACXX_UTILITY diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/valarray b/libcudacxx/include/cuda/std/detail/libcxx/include/valarray index 728f4a6134d..067145424c9 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/valarray +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/valarray @@ -361,11 +361,13 @@ template unspecified2 end(const valarray& v); // [valarray.syn] #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/variant b/libcudacxx/include/cuda/std/detail/libcxx/include/variant index 403d7122eff..aec00c9fcbf 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/variant +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/variant @@ -208,11 +208,13 @@ namespace std { #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/vector b/libcudacxx/include/cuda/std/detail/libcxx/include/vector index f18ce0d8602..4f3bbf1467e 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/vector +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/vector @@ -286,11 +286,13 @@ template #include <__debug> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header _LIBCUDACXX_PUSH_MACROS #include <__undef_macros> diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/version b/libcudacxx/include/cuda/std/detail/libcxx/include/version index a2c91e81cd2..449993d7ef4 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/version +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/version @@ -215,11 +215,13 @@ __cpp_lib_void_t 201411L #endif #endif // __cuda_std__ -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // We define certain feature test macros depending on availability. When // __CUDA_MINIMUM_ARCH__ is not available, we define the following features diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/wchar.h b/libcudacxx/include/cuda/std/detail/libcxx/include/wchar.h index 4981c861720..247f8c99513 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/wchar.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/wchar.h @@ -9,11 +9,13 @@ #if defined(__need_wint_t) || defined(__need_mbstate_t) -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include_next @@ -109,11 +111,13 @@ size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len, #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifdef __cplusplus #define __CORRECT_ISO_CPP_WCHAR_H_PROTO diff --git a/libcudacxx/include/cuda/std/detail/libcxx/include/wctype.h b/libcudacxx/include/cuda/std/detail/libcxx/include/wctype.h index dd5c13cc85d..9cbb99666a6 100644 --- a/libcudacxx/include/cuda/std/detail/libcxx/include/wctype.h +++ b/libcudacxx/include/cuda/std/detail/libcxx/include/wctype.h @@ -46,11 +46,13 @@ wctrans_t wctrans(const char* property); #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include_next diff --git a/libcudacxx/libcxx/utils/generate_feature_test_macro_components.py b/libcudacxx/libcxx/utils/generate_feature_test_macro_components.py index 2e1b6d8a42b..d338c2346a0 100755 --- a/libcudacxx/libcxx/utils/generate_feature_test_macro_components.py +++ b/libcudacxx/libcxx/utils/generate_feature_test_macro_components.py @@ -716,11 +716,13 @@ def produce_version_header(): #include <__config> -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if _LIBCUDACXX_STD_VER > 11 {cxx14_macros} diff --git a/thrust/thrust/addressof.h b/thrust/thrust/addressof.h index ac1af8a3aec..a5901546a0c 100644 --- a/thrust/thrust/addressof.h +++ b/thrust/thrust/addressof.h @@ -7,11 +7,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_CPP_DIALECT >= 2011 # include diff --git a/thrust/thrust/adjacent_difference.h b/thrust/thrust/adjacent_difference.h index 6aa67465554..68bca18d9a7 100644 --- a/thrust/thrust/adjacent_difference.h +++ b/thrust/thrust/adjacent_difference.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/advance.h b/thrust/thrust/advance.h index e7b36236522..f7e88f3b6a5 100644 --- a/thrust/thrust/advance.h +++ b/thrust/thrust/advance.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/allocate_unique.h b/thrust/thrust/allocate_unique.h index bd3ca33ded7..a0b08d2be9e 100644 --- a/thrust/thrust/allocate_unique.h +++ b/thrust/thrust/allocate_unique.h @@ -7,11 +7,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/async/copy.h b/thrust/thrust/async/copy.h index 5fc18424c74..c588c509ce6 100644 --- a/thrust/thrust/async/copy.h +++ b/thrust/thrust/async/copy.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/async/for_each.h b/thrust/thrust/async/for_each.h index 8dd198c15b3..382bb471e17 100644 --- a/thrust/thrust/async/for_each.h +++ b/thrust/thrust/async/for_each.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/async/reduce.h b/thrust/thrust/async/reduce.h index 893c3c5b132..9bc3a120ecf 100644 --- a/thrust/thrust/async/reduce.h +++ b/thrust/thrust/async/reduce.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/async/scan.h b/thrust/thrust/async/scan.h index 56ef43f317a..f7b37388b1e 100644 --- a/thrust/thrust/async/scan.h +++ b/thrust/thrust/async/scan.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/async/sort.h b/thrust/thrust/async/sort.h index 551f599035e..9276b3c7b50 100644 --- a/thrust/thrust/async/sort.h +++ b/thrust/thrust/async/sort.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/async/transform.h b/thrust/thrust/async/transform.h index 3f4d2af526c..c9cfc3f35a2 100644 --- a/thrust/thrust/async/transform.h +++ b/thrust/thrust/async/transform.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/binary_search.h b/thrust/thrust/binary_search.h index c6633ce18fd..d0d0d5631a8 100644 --- a/thrust/thrust/binary_search.h +++ b/thrust/thrust/binary_search.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/complex.h b/thrust/thrust/complex.h index a400a6dbd7d..cb296637158 100644 --- a/thrust/thrust/complex.h +++ b/thrust/thrust/complex.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/copy.h b/thrust/thrust/copy.h index 24f1ac78cfc..40006160a11 100644 --- a/thrust/thrust/copy.h +++ b/thrust/thrust/copy.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/count.h b/thrust/thrust/count.h index 0512933cbbe..899f88e5ca2 100644 --- a/thrust/thrust/count.h +++ b/thrust/thrust/count.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/adjacent_difference.inl b/thrust/thrust/detail/adjacent_difference.inl index 1f604c07118..0745f37393b 100644 --- a/thrust/thrust/detail/adjacent_difference.inl +++ b/thrust/thrust/detail/adjacent_difference.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/advance.inl b/thrust/thrust/detail/advance.inl index e73e9cd8035..da2f7b0aa3f 100644 --- a/thrust/thrust/detail/advance.inl +++ b/thrust/thrust/detail/advance.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/algorithm_wrapper.h b/thrust/thrust/detail/algorithm_wrapper.h index ad5efce8b06..3d0cada736a 100644 --- a/thrust/thrust/detail/algorithm_wrapper.h +++ b/thrust/thrust/detail/algorithm_wrapper.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // When a compiler uses Thrust as part of its implementation of Standard C++ // algorithms, a cycle of included files may result when Thrust code tries to diff --git a/thrust/thrust/detail/alignment.h b/thrust/thrust/detail/alignment.h index 6b8f11b333f..66f788a4362 100644 --- a/thrust/thrust/detail/alignment.h +++ b/thrust/thrust/detail/alignment.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include // For `integral_constant`. #include // For `std::size_t` and `std::max_align_t`. diff --git a/thrust/thrust/detail/allocator/allocator_traits.h b/thrust/thrust/detail/allocator/allocator_traits.h index d59f38591c2..28ea728057d 100644 --- a/thrust/thrust/detail/allocator/allocator_traits.h +++ b/thrust/thrust/detail/allocator/allocator_traits.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/allocator/allocator_traits.inl b/thrust/thrust/detail/allocator/allocator_traits.inl index 1548373a6eb..aed3a68f049 100644 --- a/thrust/thrust/detail/allocator/allocator_traits.inl +++ b/thrust/thrust/detail/allocator/allocator_traits.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/allocator/copy_construct_range.h b/thrust/thrust/detail/allocator/copy_construct_range.h index 25139925efe..034896c466b 100644 --- a/thrust/thrust/detail/allocator/copy_construct_range.h +++ b/thrust/thrust/detail/allocator/copy_construct_range.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/detail/allocator/copy_construct_range.inl b/thrust/thrust/detail/allocator/copy_construct_range.inl index 54ae413a100..ed07f115803 100644 --- a/thrust/thrust/detail/allocator/copy_construct_range.inl +++ b/thrust/thrust/detail/allocator/copy_construct_range.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/allocator/default_construct_range.h b/thrust/thrust/detail/allocator/default_construct_range.h index b53534936cc..42f5629db78 100644 --- a/thrust/thrust/detail/allocator/default_construct_range.h +++ b/thrust/thrust/detail/allocator/default_construct_range.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN namespace detail diff --git a/thrust/thrust/detail/allocator/default_construct_range.inl b/thrust/thrust/detail/allocator/default_construct_range.inl index 6edc4f7a2cb..08272e1b278 100644 --- a/thrust/thrust/detail/allocator/default_construct_range.inl +++ b/thrust/thrust/detail/allocator/default_construct_range.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/allocator/destroy_range.h b/thrust/thrust/detail/allocator/destroy_range.h index cfedf0c4f32..dbc30566935 100644 --- a/thrust/thrust/detail/allocator/destroy_range.h +++ b/thrust/thrust/detail/allocator/destroy_range.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN namespace detail diff --git a/thrust/thrust/detail/allocator/destroy_range.inl b/thrust/thrust/detail/allocator/destroy_range.inl index a288d3d663b..26af50495cf 100644 --- a/thrust/thrust/detail/allocator/destroy_range.inl +++ b/thrust/thrust/detail/allocator/destroy_range.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/allocator/fill_construct_range.h b/thrust/thrust/detail/allocator/fill_construct_range.h index 5aa6f84bee8..52c4f4edc94 100644 --- a/thrust/thrust/detail/allocator/fill_construct_range.h +++ b/thrust/thrust/detail/allocator/fill_construct_range.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN namespace detail diff --git a/thrust/thrust/detail/allocator/fill_construct_range.inl b/thrust/thrust/detail/allocator/fill_construct_range.inl index 4019d9d9b46..d5d13da631a 100644 --- a/thrust/thrust/detail/allocator/fill_construct_range.inl +++ b/thrust/thrust/detail/allocator/fill_construct_range.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/allocator/malloc_allocator.h b/thrust/thrust/detail/allocator/malloc_allocator.h index be230a986f5..b959adfc1b6 100644 --- a/thrust/thrust/detail/allocator/malloc_allocator.h +++ b/thrust/thrust/detail/allocator/malloc_allocator.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/allocator/malloc_allocator.inl b/thrust/thrust/detail/allocator/malloc_allocator.inl index 0e64abf73fa..e0c7703f4c7 100644 --- a/thrust/thrust/detail/allocator/malloc_allocator.inl +++ b/thrust/thrust/detail/allocator/malloc_allocator.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/allocator/no_throw_allocator.h b/thrust/thrust/detail/allocator/no_throw_allocator.h index 7a35b3d1160..f63dd733581 100644 --- a/thrust/thrust/detail/allocator/no_throw_allocator.h +++ b/thrust/thrust/detail/allocator/no_throw_allocator.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/detail/allocator/tagged_allocator.h b/thrust/thrust/detail/allocator/tagged_allocator.h index fa7a716f119..25ec100379f 100644 --- a/thrust/thrust/detail/allocator/tagged_allocator.h +++ b/thrust/thrust/detail/allocator/tagged_allocator.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/allocator/tagged_allocator.inl b/thrust/thrust/detail/allocator/tagged_allocator.inl index 4f02e59c840..85db4486c08 100644 --- a/thrust/thrust/detail/allocator/tagged_allocator.inl +++ b/thrust/thrust/detail/allocator/tagged_allocator.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/allocator/temporary_allocator.h b/thrust/thrust/detail/allocator/temporary_allocator.h index 81110e3f2e7..cecc5d1d479 100644 --- a/thrust/thrust/detail/allocator/temporary_allocator.h +++ b/thrust/thrust/detail/allocator/temporary_allocator.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/allocator/temporary_allocator.inl b/thrust/thrust/detail/allocator/temporary_allocator.inl index 23f96cfb996..44037b1e46a 100644 --- a/thrust/thrust/detail/allocator/temporary_allocator.inl +++ b/thrust/thrust/detail/allocator/temporary_allocator.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/allocator_aware_execution_policy.h b/thrust/thrust/detail/allocator_aware_execution_policy.h index bfc29736bfd..d69c07b007c 100644 --- a/thrust/thrust/detail/allocator_aware_execution_policy.h +++ b/thrust/thrust/detail/allocator_aware_execution_policy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/binary_search.inl b/thrust/thrust/detail/binary_search.inl index d2a42fdf6af..5b5fb88534c 100644 --- a/thrust/thrust/detail/binary_search.inl +++ b/thrust/thrust/detail/binary_search.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/caching_allocator.h b/thrust/thrust/detail/caching_allocator.h index f306f0f1220..f548c76b4c3 100644 --- a/thrust/thrust/detail/caching_allocator.h +++ b/thrust/thrust/detail/caching_allocator.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/config.h b/thrust/thrust/detail/config.h index 12df82f6944..1a7ede1ab05 100644 --- a/thrust/thrust/detail/config.h +++ b/thrust/thrust/detail/config.h @@ -22,8 +22,10 @@ #include #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header diff --git a/thrust/thrust/detail/config/compiler.h b/thrust/thrust/detail/config/compiler.h index 3359808f6c2..13ea77fad86 100644 --- a/thrust/thrust/detail/config/compiler.h +++ b/thrust/thrust/detail/config/compiler.h @@ -22,11 +22,13 @@ // Internal config header that is only included through thrust/detail/config/config.h -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // enumerate host compilers we know about #define THRUST_HOST_COMPILER_UNKNOWN 0 diff --git a/thrust/thrust/detail/config/compiler_fence.h b/thrust/thrust/detail/config/compiler_fence.h index 629e0a549f4..dd0bc14fdf7 100644 --- a/thrust/thrust/detail/config/compiler_fence.h +++ b/thrust/thrust/detail/config/compiler_fence.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/detail/config/config.h b/thrust/thrust/detail/config/config.h index 692d356c5f1..7878b9c735f 100644 --- a/thrust/thrust/detail/config/config.h +++ b/thrust/thrust/detail/config/config.h @@ -23,11 +23,13 @@ // For _CCCL_IMPLICIT_SYSTEM_HEADER #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // NOTE: The order of these #includes matters. diff --git a/thrust/thrust/detail/config/cpp_compatibility.h b/thrust/thrust/detail/config/cpp_compatibility.h index ba6c9b65b6d..3f4c8afde73 100644 --- a/thrust/thrust/detail/config/cpp_compatibility.h +++ b/thrust/thrust/detail/config/cpp_compatibility.h @@ -18,11 +18,13 @@ // Internal config header that is only included through thrust/detail/config/config.h -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/detail/config/cpp_dialect.h b/thrust/thrust/detail/config/cpp_dialect.h index 87905893fc9..baa96f2c712 100644 --- a/thrust/thrust/detail/config/cpp_dialect.h +++ b/thrust/thrust/detail/config/cpp_dialect.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/detail/config/debug.h b/thrust/thrust/detail/config/debug.h index be903b1f36b..6719403b343 100644 --- a/thrust/thrust/detail/config/debug.h +++ b/thrust/thrust/detail/config/debug.h @@ -18,11 +18,13 @@ // Internal config header that is only included through thrust/detail/config/config.h -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifndef THRUST_DEBUG # ifndef NDEBUG diff --git a/thrust/thrust/detail/config/deprecated.h b/thrust/thrust/detail/config/deprecated.h index 0ec83a15dc7..073790a1dca 100644 --- a/thrust/thrust/detail/config/deprecated.h +++ b/thrust/thrust/detail/config/deprecated.h @@ -22,11 +22,13 @@ // Internal config header that is only included through thrust/detail/config/config.h -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/config/device_system.h b/thrust/thrust/detail/config/device_system.h index 188202276ae..66ea6a2eefe 100644 --- a/thrust/thrust/detail/config/device_system.h +++ b/thrust/thrust/detail/config/device_system.h @@ -18,11 +18,13 @@ // Internal config header that is only included through thrust/detail/config/config.h -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // reserve 0 for undefined #define THRUST_DEVICE_SYSTEM_CUDA 1 diff --git a/thrust/thrust/detail/config/exec_check_disable.h b/thrust/thrust/detail/config/exec_check_disable.h index 8a9811f86d3..983f699b921 100644 --- a/thrust/thrust/detail/config/exec_check_disable.h +++ b/thrust/thrust/detail/config/exec_check_disable.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // #pragma nv_exec_check_disable is only recognized by NVCC. Having a macro // expand to a #pragma (rather than _Pragma) only works with NVCC's compilation diff --git a/thrust/thrust/detail/config/forceinline.h b/thrust/thrust/detail/config/forceinline.h index c90124cb8e7..ef0e078c4b2 100644 --- a/thrust/thrust/detail/config/forceinline.h +++ b/thrust/thrust/detail/config/forceinline.h @@ -22,11 +22,13 @@ // Internal config header that is only included through thrust/detail/config/config.h -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if defined(__CUDACC__) || defined(_NVHPC_CUDA) diff --git a/thrust/thrust/detail/config/global_workarounds.h b/thrust/thrust/detail/config/global_workarounds.h index e16de143b55..9906ba2a131 100644 --- a/thrust/thrust/detail/config/global_workarounds.h +++ b/thrust/thrust/detail/config/global_workarounds.h @@ -18,11 +18,13 @@ // Internal config header that is only included through thrust/detail/config/config.h -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/detail/config/host_device.h b/thrust/thrust/detail/config/host_device.h index b4b4a26be9f..d2d03fd6969 100644 --- a/thrust/thrust/detail/config/host_device.h +++ b/thrust/thrust/detail/config/host_device.h @@ -22,11 +22,13 @@ // Internal config header that is only included through thrust/detail/config/config.h -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // since nvcc defines __host__ and __device__ for us, // and only nvcc knows what to do with __host__ and __device__, diff --git a/thrust/thrust/detail/config/host_system.h b/thrust/thrust/detail/config/host_system.h index aab787a9ffd..cf5281b168c 100644 --- a/thrust/thrust/detail/config/host_system.h +++ b/thrust/thrust/detail/config/host_system.h @@ -18,11 +18,13 @@ // Internal config header that is only included through thrust/detail/config/config.h -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // reserve 0 for undefined #define THRUST_HOST_SYSTEM_CPP 1 diff --git a/thrust/thrust/detail/config/memory_resource.h b/thrust/thrust/detail/config/memory_resource.h index a8a4f18971e..7d71adae1f5 100644 --- a/thrust/thrust/detail/config/memory_resource.h +++ b/thrust/thrust/detail/config/memory_resource.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/detail/config/namespace.h b/thrust/thrust/detail/config/namespace.h index 94cbbbbe6eb..4befceb1f02 100644 --- a/thrust/thrust/detail/config/namespace.h +++ b/thrust/thrust/detail/config/namespace.h @@ -18,11 +18,13 @@ // Internal config header that is only included through thrust/detail/config/config.h -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/config/simple_defines.h b/thrust/thrust/detail/config/simple_defines.h index c99d7ab2a40..2b1247b07d5 100644 --- a/thrust/thrust/detail/config/simple_defines.h +++ b/thrust/thrust/detail/config/simple_defines.h @@ -22,11 +22,13 @@ // Internal config header that is only included through thrust/detail/config/config.h -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #define THRUST_UNKNOWN 0 #define THRUST_FALSE 0 diff --git a/thrust/thrust/detail/contiguous_storage.h b/thrust/thrust/detail/contiguous_storage.h index 3ed000a26b6..32e964e934e 100644 --- a/thrust/thrust/detail/contiguous_storage.h +++ b/thrust/thrust/detail/contiguous_storage.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/contiguous_storage.inl b/thrust/thrust/detail/contiguous_storage.inl index ded03e01710..f34c218e5d4 100644 --- a/thrust/thrust/detail/contiguous_storage.inl +++ b/thrust/thrust/detail/contiguous_storage.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/copy.h b/thrust/thrust/detail/copy.h index 59d0f264b0b..42f2e9de3cc 100644 --- a/thrust/thrust/detail/copy.h +++ b/thrust/thrust/detail/copy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/detail/copy.inl b/thrust/thrust/detail/copy.inl index ada0aa5d2bd..9101c49d480 100644 --- a/thrust/thrust/detail/copy.inl +++ b/thrust/thrust/detail/copy.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/copy_if.h b/thrust/thrust/detail/copy_if.h index a7a72734665..c1483fa55e5 100644 --- a/thrust/thrust/detail/copy_if.h +++ b/thrust/thrust/detail/copy_if.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/detail/copy_if.inl b/thrust/thrust/detail/copy_if.inl index a013328bf85..852c9ff72de 100644 --- a/thrust/thrust/detail/copy_if.inl +++ b/thrust/thrust/detail/copy_if.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/count.h b/thrust/thrust/detail/count.h index cc513f9bb75..ebc12448498 100644 --- a/thrust/thrust/detail/count.h +++ b/thrust/thrust/detail/count.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/detail/count.inl b/thrust/thrust/detail/count.inl index c896e740859..5d95b04482b 100644 --- a/thrust/thrust/detail/count.inl +++ b/thrust/thrust/detail/count.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/cpp11_required.h b/thrust/thrust/detail/cpp11_required.h index 6447d0eba7d..599f77dc4e3 100644 --- a/thrust/thrust/detail/cpp11_required.h +++ b/thrust/thrust/detail/cpp11_required.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifndef THRUST_CPP11_REQUIRED_NO_ERROR # if THRUST_CPP_DIALECT < 2011 diff --git a/thrust/thrust/detail/cpp14_required.h b/thrust/thrust/detail/cpp14_required.h index 27ed1bd7d96..56366311c49 100644 --- a/thrust/thrust/detail/cpp14_required.h +++ b/thrust/thrust/detail/cpp14_required.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifndef THRUST_CPP14_REQUIRED_NO_ERROR # if THRUST_CPP_DIALECT < 2014 diff --git a/thrust/thrust/detail/cstdint.h b/thrust/thrust/detail/cstdint.h index d9f5fd595db..3599fd61eaa 100644 --- a/thrust/thrust/detail/cstdint.h +++ b/thrust/thrust/detail/cstdint.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if (THRUST_HOST_COMPILER == THRUST_HOST_COMPILER_GCC) || \ (THRUST_HOST_COMPILER == THRUST_HOST_COMPILER_CLANG) || \ diff --git a/thrust/thrust/detail/dependencies_aware_execution_policy.h b/thrust/thrust/detail/dependencies_aware_execution_policy.h index d781daf2428..1dc09f2dde8 100644 --- a/thrust/thrust/detail/dependencies_aware_execution_policy.h +++ b/thrust/thrust/detail/dependencies_aware_execution_policy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/detail/device_delete.inl b/thrust/thrust/detail/device_delete.inl index 6b86808633d..9d66f834a41 100644 --- a/thrust/thrust/detail/device_delete.inl +++ b/thrust/thrust/detail/device_delete.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/device_free.inl b/thrust/thrust/detail/device_free.inl index bc3ccbb30dd..fe86ef25f6a 100644 --- a/thrust/thrust/detail/device_free.inl +++ b/thrust/thrust/detail/device_free.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/device_malloc.inl b/thrust/thrust/detail/device_malloc.inl index aaf5887b02f..f17edbbe23e 100644 --- a/thrust/thrust/detail/device_malloc.inl +++ b/thrust/thrust/detail/device_malloc.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/device_new.inl b/thrust/thrust/detail/device_new.inl index b6578a662ca..11794149486 100644 --- a/thrust/thrust/detail/device_new.inl +++ b/thrust/thrust/detail/device_new.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/device_ptr.inl b/thrust/thrust/detail/device_ptr.inl index d980f45dda1..42bcbcdc4ff 100644 --- a/thrust/thrust/detail/device_ptr.inl +++ b/thrust/thrust/detail/device_ptr.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/distance.inl b/thrust/thrust/detail/distance.inl index 452469cb4e1..dbc46cd423c 100644 --- a/thrust/thrust/detail/distance.inl +++ b/thrust/thrust/detail/distance.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/equal.inl b/thrust/thrust/detail/equal.inl index 02d9686691c..576b97638a3 100644 --- a/thrust/thrust/detail/equal.inl +++ b/thrust/thrust/detail/equal.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/event_error.h b/thrust/thrust/detail/event_error.h index 90bfafcd887..6376a25e1e0 100644 --- a/thrust/thrust/detail/event_error.h +++ b/thrust/thrust/detail/event_error.h @@ -21,11 +21,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/detail/execute_with_allocator.h b/thrust/thrust/detail/execute_with_allocator.h index a41a2c205fc..50df2aad59c 100644 --- a/thrust/thrust/detail/execute_with_allocator.h +++ b/thrust/thrust/detail/execute_with_allocator.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/execute_with_allocator_fwd.h b/thrust/thrust/detail/execute_with_allocator_fwd.h index 8c5cec162c9..64abce8a60f 100644 --- a/thrust/thrust/detail/execute_with_allocator_fwd.h +++ b/thrust/thrust/detail/execute_with_allocator_fwd.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/detail/execute_with_dependencies.h b/thrust/thrust/detail/execute_with_dependencies.h index 834f8868ce6..282c4e4852d 100644 --- a/thrust/thrust/detail/execute_with_dependencies.h +++ b/thrust/thrust/detail/execute_with_dependencies.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/detail/execution_policy.h b/thrust/thrust/detail/execution_policy.h index 87857a51d0a..53062430ab3 100644 --- a/thrust/thrust/detail/execution_policy.h +++ b/thrust/thrust/detail/execution_policy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/detail/extrema.inl b/thrust/thrust/detail/extrema.inl index cfa21741109..024efeeea9e 100644 --- a/thrust/thrust/detail/extrema.inl +++ b/thrust/thrust/detail/extrema.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/fill.inl b/thrust/thrust/detail/fill.inl index 0ba85a6f1e0..fbd291bf131 100644 --- a/thrust/thrust/detail/fill.inl +++ b/thrust/thrust/detail/fill.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/find.inl b/thrust/thrust/detail/find.inl index 621a2cd8e4b..48bd4b1423b 100644 --- a/thrust/thrust/detail/find.inl +++ b/thrust/thrust/detail/find.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/for_each.inl b/thrust/thrust/detail/for_each.inl index 1f5111ade7c..9ce078f42d5 100644 --- a/thrust/thrust/detail/for_each.inl +++ b/thrust/thrust/detail/for_each.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/function.h b/thrust/thrust/detail/function.h index 14b288bf94e..9e8be4e856e 100644 --- a/thrust/thrust/detail/function.h +++ b/thrust/thrust/detail/function.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/detail/functional.inl b/thrust/thrust/detail/functional.inl index bf56fce23a2..99de3600d2b 100644 --- a/thrust/thrust/detail/functional.inl +++ b/thrust/thrust/detail/functional.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/detail/functional/actor.h b/thrust/thrust/detail/functional/actor.h index 52d0c6660ae..d609b8d3f5c 100644 --- a/thrust/thrust/detail/functional/actor.h +++ b/thrust/thrust/detail/functional/actor.h @@ -27,11 +27,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/functional/actor.inl b/thrust/thrust/detail/functional/actor.inl index 9043062436f..e118c0648c2 100644 --- a/thrust/thrust/detail/functional/actor.inl +++ b/thrust/thrust/detail/functional/actor.inl @@ -27,11 +27,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/functional/argument.h b/thrust/thrust/detail/functional/argument.h index be3824e3671..71a13db6682 100644 --- a/thrust/thrust/detail/functional/argument.h +++ b/thrust/thrust/detail/functional/argument.h @@ -27,11 +27,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/detail/functional/composite.h b/thrust/thrust/detail/functional/composite.h index 129d8320831..5e493b562cd 100644 --- a/thrust/thrust/detail/functional/composite.h +++ b/thrust/thrust/detail/functional/composite.h @@ -27,11 +27,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/functional/operators.h b/thrust/thrust/detail/functional/operators.h index 74804745f82..1b56b838e0d 100644 --- a/thrust/thrust/detail/functional/operators.h +++ b/thrust/thrust/detail/functional/operators.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/functional/operators/arithmetic_operators.h b/thrust/thrust/detail/functional/operators/arithmetic_operators.h index 238f2e5698c..45704127ebf 100644 --- a/thrust/thrust/detail/functional/operators/arithmetic_operators.h +++ b/thrust/thrust/detail/functional/operators/arithmetic_operators.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/functional/operators/assignment_operator.h b/thrust/thrust/detail/functional/operators/assignment_operator.h index 62f93ce710b..7dbf2b8f425 100644 --- a/thrust/thrust/detail/functional/operators/assignment_operator.h +++ b/thrust/thrust/detail/functional/operators/assignment_operator.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/functional/operators/bitwise_operators.h b/thrust/thrust/detail/functional/operators/bitwise_operators.h index b49a464aba6..fa671f5a4ff 100644 --- a/thrust/thrust/detail/functional/operators/bitwise_operators.h +++ b/thrust/thrust/detail/functional/operators/bitwise_operators.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/functional/operators/compound_assignment_operators.h b/thrust/thrust/detail/functional/operators/compound_assignment_operators.h index 61fc6f5971e..ded354e8aa2 100644 --- a/thrust/thrust/detail/functional/operators/compound_assignment_operators.h +++ b/thrust/thrust/detail/functional/operators/compound_assignment_operators.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/functional/operators/logical_operators.h b/thrust/thrust/detail/functional/operators/logical_operators.h index a30850b5886..c0b14a05535 100644 --- a/thrust/thrust/detail/functional/operators/logical_operators.h +++ b/thrust/thrust/detail/functional/operators/logical_operators.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/functional/operators/operator_adaptors.h b/thrust/thrust/detail/functional/operators/operator_adaptors.h index 6f69e6f91ec..0ee1f1df2d6 100644 --- a/thrust/thrust/detail/functional/operators/operator_adaptors.h +++ b/thrust/thrust/detail/functional/operators/operator_adaptors.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/functional/operators/relational_operators.h b/thrust/thrust/detail/functional/operators/relational_operators.h index fb55c34627d..79f60d8e004 100644 --- a/thrust/thrust/detail/functional/operators/relational_operators.h +++ b/thrust/thrust/detail/functional/operators/relational_operators.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/functional/placeholder.h b/thrust/thrust/detail/functional/placeholder.h index 19b40de8722..6cc553c8f21 100644 --- a/thrust/thrust/detail/functional/placeholder.h +++ b/thrust/thrust/detail/functional/placeholder.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/functional/value.h b/thrust/thrust/detail/functional/value.h index 0b30a0cf39b..066299908c3 100644 --- a/thrust/thrust/detail/functional/value.h +++ b/thrust/thrust/detail/functional/value.h @@ -27,11 +27,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/detail/gather.inl b/thrust/thrust/detail/gather.inl index 9488c4caf15..ca86f2505ca 100644 --- a/thrust/thrust/detail/gather.inl +++ b/thrust/thrust/detail/gather.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/generate.inl b/thrust/thrust/detail/generate.inl index 8e3924c2810..2c7c5343662 100644 --- a/thrust/thrust/detail/generate.inl +++ b/thrust/thrust/detail/generate.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/get_iterator_value.h b/thrust/thrust/detail/get_iterator_value.h index c5828ff2a6b..1e68d6fb549 100644 --- a/thrust/thrust/detail/get_iterator_value.h +++ b/thrust/thrust/detail/get_iterator_value.h @@ -17,11 +17,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/inner_product.inl b/thrust/thrust/detail/inner_product.inl index 373d15af0be..5519beaed4e 100644 --- a/thrust/thrust/detail/inner_product.inl +++ b/thrust/thrust/detail/inner_product.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/integer_math.h b/thrust/thrust/detail/integer_math.h index c5640493f95..777598042af 100644 --- a/thrust/thrust/detail/integer_math.h +++ b/thrust/thrust/detail/integer_math.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/integer_traits.h b/thrust/thrust/detail/integer_traits.h index cafea573f23..e052d9b2fb9 100644 --- a/thrust/thrust/detail/integer_traits.h +++ b/thrust/thrust/detail/integer_traits.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/internal_functional.h b/thrust/thrust/detail/internal_functional.h index 585592ebc14..b5ec3d9e92e 100644 --- a/thrust/thrust/detail/internal_functional.h +++ b/thrust/thrust/detail/internal_functional.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/logical.inl b/thrust/thrust/detail/logical.inl index 30992bbaa46..e40e8cebbad 100644 --- a/thrust/thrust/detail/logical.inl +++ b/thrust/thrust/detail/logical.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/malloc_and_free.h b/thrust/thrust/detail/malloc_and_free.h index a03df639d44..3471b34113d 100644 --- a/thrust/thrust/detail/malloc_and_free.h +++ b/thrust/thrust/detail/malloc_and_free.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/memory_algorithms.h b/thrust/thrust/detail/memory_algorithms.h index 05d68f043fa..b68bca15149 100644 --- a/thrust/thrust/detail/memory_algorithms.h +++ b/thrust/thrust/detail/memory_algorithms.h @@ -10,11 +10,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/memory_wrapper.h b/thrust/thrust/detail/memory_wrapper.h index 1df1dfcb813..187bed04baa 100644 --- a/thrust/thrust/detail/memory_wrapper.h +++ b/thrust/thrust/detail/memory_wrapper.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // When a compiler uses Thrust as part of its implementation of Standard C++ // algorithms, a cycle of included files may result when Thrust code tries to diff --git a/thrust/thrust/detail/merge.inl b/thrust/thrust/detail/merge.inl index 64b1f5f2ee1..5fabb65f457 100644 --- a/thrust/thrust/detail/merge.inl +++ b/thrust/thrust/detail/merge.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/minmax.h b/thrust/thrust/detail/minmax.h index bbc54d47537..3d608530e4d 100644 --- a/thrust/thrust/detail/minmax.h +++ b/thrust/thrust/detail/minmax.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/detail/mismatch.inl b/thrust/thrust/detail/mismatch.inl index e0dee618395..9ef8406a986 100644 --- a/thrust/thrust/detail/mismatch.inl +++ b/thrust/thrust/detail/mismatch.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/modern_gcc_required.h b/thrust/thrust/detail/modern_gcc_required.h index 517d285a2c8..6338da6fff8 100644 --- a/thrust/thrust/detail/modern_gcc_required.h +++ b/thrust/thrust/detail/modern_gcc_required.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #ifndef THRUST_MODERN_GCC_REQUIRED_NO_ERROR # if defined(THRUST_GCC_VERSION) && !defined(THRUST_MODERN_GCC) diff --git a/thrust/thrust/detail/mpl/math.h b/thrust/thrust/detail/mpl/math.h index ccdba5ce3b2..4eb1b0f69c5 100644 --- a/thrust/thrust/detail/mpl/math.h +++ b/thrust/thrust/detail/mpl/math.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/detail/numeric_traits.h b/thrust/thrust/detail/numeric_traits.h index 8e1fa8e5936..2fe1b1d1067 100644 --- a/thrust/thrust/detail/numeric_traits.h +++ b/thrust/thrust/detail/numeric_traits.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/numeric_wrapper.h b/thrust/thrust/detail/numeric_wrapper.h index 0460fba98d6..495c47773b8 100644 --- a/thrust/thrust/detail/numeric_wrapper.h +++ b/thrust/thrust/detail/numeric_wrapper.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // When a compiler uses Thrust as part of its implementation of Standard C++ // algorithms, a cycle of included files may result when Thrust code tries to diff --git a/thrust/thrust/detail/overlapped_copy.h b/thrust/thrust/detail/overlapped_copy.h index 7d4f5dc2ada..927e2f3360c 100644 --- a/thrust/thrust/detail/overlapped_copy.h +++ b/thrust/thrust/detail/overlapped_copy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/partition.inl b/thrust/thrust/detail/partition.inl index 5a72aad321e..1b97f7328ee 100644 --- a/thrust/thrust/detail/partition.inl +++ b/thrust/thrust/detail/partition.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/pointer.h b/thrust/thrust/detail/pointer.h index 3dab11a58b1..bfb6010e380 100644 --- a/thrust/thrust/detail/pointer.h +++ b/thrust/thrust/detail/pointer.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/pointer.inl b/thrust/thrust/detail/pointer.inl index f8d9f20e8f0..8e4915e3a8b 100644 --- a/thrust/thrust/detail/pointer.inl +++ b/thrust/thrust/detail/pointer.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/preprocessor.h b/thrust/thrust/detail/preprocessor.h index a077405d84d..8b9a48602ca 100644 --- a/thrust/thrust/detail/preprocessor.h +++ b/thrust/thrust/detail/preprocessor.h @@ -11,11 +11,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header /////////////////////////////////////////////////////////////////////////////// diff --git a/thrust/thrust/detail/range/head_flags.h b/thrust/thrust/detail/range/head_flags.h index 188c0fc67f8..ee39afc81e2 100644 --- a/thrust/thrust/detail/range/head_flags.h +++ b/thrust/thrust/detail/range/head_flags.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/range/tail_flags.h b/thrust/thrust/detail/range/tail_flags.h index 10126e73f76..3fc8d38b0e1 100644 --- a/thrust/thrust/detail/range/tail_flags.h +++ b/thrust/thrust/detail/range/tail_flags.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/raw_pointer_cast.h b/thrust/thrust/detail/raw_pointer_cast.h index 7f72b30c293..c4281796273 100644 --- a/thrust/thrust/detail/raw_pointer_cast.h +++ b/thrust/thrust/detail/raw_pointer_cast.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/detail/raw_reference_cast.h b/thrust/thrust/detail/raw_reference_cast.h index c01fe9c04d9..3a9990445ab 100644 --- a/thrust/thrust/detail/raw_reference_cast.h +++ b/thrust/thrust/detail/raw_reference_cast.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/reduce.inl b/thrust/thrust/detail/reduce.inl index 86a82ab30a1..b7f66894709 100644 --- a/thrust/thrust/detail/reduce.inl +++ b/thrust/thrust/detail/reduce.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/reference.h b/thrust/thrust/detail/reference.h index f1be715a9f5..a5d044843c8 100644 --- a/thrust/thrust/detail/reference.h +++ b/thrust/thrust/detail/reference.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/reference_forward_declaration.h b/thrust/thrust/detail/reference_forward_declaration.h index a412dc5bc4f..c546876fa7a 100644 --- a/thrust/thrust/detail/reference_forward_declaration.h +++ b/thrust/thrust/detail/reference_forward_declaration.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/detail/remove.inl b/thrust/thrust/detail/remove.inl index efd99651d1d..66f9c124021 100644 --- a/thrust/thrust/detail/remove.inl +++ b/thrust/thrust/detail/remove.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/replace.inl b/thrust/thrust/detail/replace.inl index 7dd797b12ae..ecd09eae521 100644 --- a/thrust/thrust/detail/replace.inl +++ b/thrust/thrust/detail/replace.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/reverse.inl b/thrust/thrust/detail/reverse.inl index 128af196874..790a62e44ae 100644 --- a/thrust/thrust/detail/reverse.inl +++ b/thrust/thrust/detail/reverse.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/scan.inl b/thrust/thrust/detail/scan.inl index 7300ff4c3a4..2800b1e3930 100644 --- a/thrust/thrust/detail/scan.inl +++ b/thrust/thrust/detail/scan.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/scatter.inl b/thrust/thrust/detail/scatter.inl index 115020afb47..2b639ec215a 100644 --- a/thrust/thrust/detail/scatter.inl +++ b/thrust/thrust/detail/scatter.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/select_system.h b/thrust/thrust/detail/select_system.h index 45afb93e33d..090b96b4724 100644 --- a/thrust/thrust/detail/select_system.h +++ b/thrust/thrust/detail/select_system.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/detail/seq.h b/thrust/thrust/detail/seq.h index 13df612cb20..a6da792af22 100644 --- a/thrust/thrust/detail/seq.h +++ b/thrust/thrust/detail/seq.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/sequence.inl b/thrust/thrust/detail/sequence.inl index 6ae4180284b..e45b2f7558b 100644 --- a/thrust/thrust/detail/sequence.inl +++ b/thrust/thrust/detail/sequence.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/set_operations.inl b/thrust/thrust/detail/set_operations.inl index e993b583188..fd42361d8c9 100644 --- a/thrust/thrust/detail/set_operations.inl +++ b/thrust/thrust/detail/set_operations.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/shuffle.inl b/thrust/thrust/detail/shuffle.inl index d34454cb405..b3c5aadd355 100644 --- a/thrust/thrust/detail/shuffle.inl +++ b/thrust/thrust/detail/shuffle.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/detail/sort.inl b/thrust/thrust/detail/sort.inl index 6b6f5ba639e..8f8dc8d0eb5 100644 --- a/thrust/thrust/detail/sort.inl +++ b/thrust/thrust/detail/sort.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/static_assert.h b/thrust/thrust/detail/static_assert.h index dad671caf2b..554a74544e8 100644 --- a/thrust/thrust/detail/static_assert.h +++ b/thrust/thrust/detail/static_assert.h @@ -27,11 +27,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/static_map.h b/thrust/thrust/detail/static_map.h index c6a69981714..c88a00cbb64 100644 --- a/thrust/thrust/detail/static_map.h +++ b/thrust/thrust/detail/static_map.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN namespace detail diff --git a/thrust/thrust/detail/swap.h b/thrust/thrust/detail/swap.h index 41782b12ef2..27509fdd9c3 100644 --- a/thrust/thrust/detail/swap.h +++ b/thrust/thrust/detail/swap.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/detail/swap.inl b/thrust/thrust/detail/swap.inl index 3d11608821e..0aeffd29843 100644 --- a/thrust/thrust/detail/swap.inl +++ b/thrust/thrust/detail/swap.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/swap_ranges.inl b/thrust/thrust/detail/swap_ranges.inl index 0e834ac36ad..99f98b33cf4 100644 --- a/thrust/thrust/detail/swap_ranges.inl +++ b/thrust/thrust/detail/swap_ranges.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/tabulate.inl b/thrust/thrust/detail/tabulate.inl index 7f56d95f1aa..efe54522322 100644 --- a/thrust/thrust/detail/tabulate.inl +++ b/thrust/thrust/detail/tabulate.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/temporary_array.h b/thrust/thrust/detail/temporary_array.h index 5e938a96dc0..9fb5b1417b8 100644 --- a/thrust/thrust/detail/temporary_array.h +++ b/thrust/thrust/detail/temporary_array.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN namespace detail diff --git a/thrust/thrust/detail/temporary_array.inl b/thrust/thrust/detail/temporary_array.inl index 6edde810008..f76ef6cb2d2 100644 --- a/thrust/thrust/detail/temporary_array.inl +++ b/thrust/thrust/detail/temporary_array.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/temporary_buffer.h b/thrust/thrust/detail/temporary_buffer.h index a32c014635d..80601b1a4ec 100644 --- a/thrust/thrust/detail/temporary_buffer.h +++ b/thrust/thrust/detail/temporary_buffer.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/transform.inl b/thrust/thrust/detail/transform.inl index 0999bca04ac..cf166fc3e04 100644 --- a/thrust/thrust/detail/transform.inl +++ b/thrust/thrust/detail/transform.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/transform_reduce.inl b/thrust/thrust/detail/transform_reduce.inl index 16b41010e61..7b1e7164de0 100644 --- a/thrust/thrust/detail/transform_reduce.inl +++ b/thrust/thrust/detail/transform_reduce.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/transform_scan.inl b/thrust/thrust/detail/transform_scan.inl index f78fc055689..513b28f9091 100644 --- a/thrust/thrust/detail/transform_scan.inl +++ b/thrust/thrust/detail/transform_scan.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/trivial_sequence.h b/thrust/thrust/detail/trivial_sequence.h index df70462c265..e23bac7a6fd 100644 --- a/thrust/thrust/detail/trivial_sequence.h +++ b/thrust/thrust/detail/trivial_sequence.h @@ -25,11 +25,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/tuple_algorithms.h b/thrust/thrust/detail/tuple_algorithms.h index f75f3f63ac8..fdaabfbbd3f 100644 --- a/thrust/thrust/detail/tuple_algorithms.h +++ b/thrust/thrust/detail/tuple_algorithms.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/detail/tuple_meta_transform.h b/thrust/thrust/detail/tuple_meta_transform.h index 9ecfe113ab8..2343c6b8510 100644 --- a/thrust/thrust/detail/tuple_meta_transform.h +++ b/thrust/thrust/detail/tuple_meta_transform.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/tuple_transform.h b/thrust/thrust/detail/tuple_transform.h index 0be5814cd00..723ea1861c3 100644 --- a/thrust/thrust/detail/tuple_transform.h +++ b/thrust/thrust/detail/tuple_transform.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/type_deduction.h b/thrust/thrust/detail/type_deduction.h index d861400b6ec..ca9507de225 100644 --- a/thrust/thrust/detail/type_deduction.h +++ b/thrust/thrust/detail/type_deduction.h @@ -9,11 +9,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/detail/type_traits.h b/thrust/thrust/detail/type_traits.h index 1d19fc7b838..008cf0d1828 100644 --- a/thrust/thrust/detail/type_traits.h +++ b/thrust/thrust/detail/type_traits.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/detail/type_traits/function_traits.h b/thrust/thrust/detail/type_traits/function_traits.h index 7565b5a5b47..0381e241e76 100644 --- a/thrust/thrust/detail/type_traits/function_traits.h +++ b/thrust/thrust/detail/type_traits/function_traits.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/type_traits/has_member_function.h b/thrust/thrust/detail/type_traits/has_member_function.h index f12802d9d8a..f373aa4296f 100644 --- a/thrust/thrust/detail/type_traits/has_member_function.h +++ b/thrust/thrust/detail/type_traits/has_member_function.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/detail/type_traits/has_nested_type.h b/thrust/thrust/detail/type_traits/has_nested_type.h index 860514f35d2..562ecd694c3 100644 --- a/thrust/thrust/detail/type_traits/has_nested_type.h +++ b/thrust/thrust/detail/type_traits/has_nested_type.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/detail/type_traits/has_trivial_assign.h b/thrust/thrust/detail/type_traits/has_trivial_assign.h index 8d057b72033..fb4ec27f689 100644 --- a/thrust/thrust/detail/type_traits/has_trivial_assign.h +++ b/thrust/thrust/detail/type_traits/has_trivial_assign.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/type_traits/is_call_possible.h b/thrust/thrust/detail/type_traits/is_call_possible.h index cbc231e8760..b74b31d47c5 100644 --- a/thrust/thrust/detail/type_traits/is_call_possible.h +++ b/thrust/thrust/detail/type_traits/is_call_possible.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/type_traits/is_metafunction_defined.h b/thrust/thrust/detail/type_traits/is_metafunction_defined.h index 5e2c217322e..8fbb1169f16 100644 --- a/thrust/thrust/detail/type_traits/is_metafunction_defined.h +++ b/thrust/thrust/detail/type_traits/is_metafunction_defined.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/type_traits/iterator/is_discard_iterator.h b/thrust/thrust/detail/type_traits/iterator/is_discard_iterator.h index 218273ff438..cd4140c5913 100644 --- a/thrust/thrust/detail/type_traits/iterator/is_discard_iterator.h +++ b/thrust/thrust/detail/type_traits/iterator/is_discard_iterator.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/type_traits/iterator/is_output_iterator.h b/thrust/thrust/detail/type_traits/iterator/is_output_iterator.h index fdf95e0fae7..600f7b20ecf 100644 --- a/thrust/thrust/detail/type_traits/iterator/is_output_iterator.h +++ b/thrust/thrust/detail/type_traits/iterator/is_output_iterator.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/type_traits/minimum_type.h b/thrust/thrust/detail/type_traits/minimum_type.h index d520fd5f827..5ddf8a48e5b 100644 --- a/thrust/thrust/detail/type_traits/minimum_type.h +++ b/thrust/thrust/detail/type_traits/minimum_type.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/detail/type_traits/pointer_traits.h b/thrust/thrust/detail/type_traits/pointer_traits.h index e35047ba2b0..89aa280b234 100644 --- a/thrust/thrust/detail/type_traits/pointer_traits.h +++ b/thrust/thrust/detail/type_traits/pointer_traits.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/type_traits/result_of_adaptable_function.h b/thrust/thrust/detail/type_traits/result_of_adaptable_function.h index 4baf724035e..532f4c3bfc3 100644 --- a/thrust/thrust/detail/type_traits/result_of_adaptable_function.h +++ b/thrust/thrust/detail/type_traits/result_of_adaptable_function.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/uninitialized_copy.inl b/thrust/thrust/detail/uninitialized_copy.inl index bf8f6c5cfb0..70522e85a64 100644 --- a/thrust/thrust/detail/uninitialized_copy.inl +++ b/thrust/thrust/detail/uninitialized_copy.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/uninitialized_fill.inl b/thrust/thrust/detail/uninitialized_fill.inl index 1dc65edb916..3b0167a848d 100644 --- a/thrust/thrust/detail/uninitialized_fill.inl +++ b/thrust/thrust/detail/uninitialized_fill.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/unique.inl b/thrust/thrust/detail/unique.inl index 1a5b827d16c..5ab9a914167 100644 --- a/thrust/thrust/detail/unique.inl +++ b/thrust/thrust/detail/unique.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/detail/use_default.h b/thrust/thrust/detail/use_default.h index 745547ca5f7..b8f7605c57e 100644 --- a/thrust/thrust/detail/use_default.h +++ b/thrust/thrust/detail/use_default.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/detail/util/align.h b/thrust/thrust/detail/util/align.h index c00a000f598..128184773c1 100644 --- a/thrust/thrust/detail/util/align.h +++ b/thrust/thrust/detail/util/align.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/detail/vector_base.h b/thrust/thrust/detail/vector_base.h index 0657cbe25b2..fb1a72e2212 100644 --- a/thrust/thrust/detail/vector_base.h +++ b/thrust/thrust/detail/vector_base.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/detail/vector_base.inl b/thrust/thrust/detail/vector_base.inl index 7d6bf5dd2a9..9eca006a030 100644 --- a/thrust/thrust/detail/vector_base.inl +++ b/thrust/thrust/detail/vector_base.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/device_allocator.h b/thrust/thrust/device_allocator.h index a0b240a66cc..14f63baa786 100644 --- a/thrust/thrust/device_allocator.h +++ b/thrust/thrust/device_allocator.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/device_delete.h b/thrust/thrust/device_delete.h index fb3af0316fe..c0a55076206 100644 --- a/thrust/thrust/device_delete.h +++ b/thrust/thrust/device_delete.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/device_free.h b/thrust/thrust/device_free.h index 410201cbbdd..d16957ef0a9 100644 --- a/thrust/thrust/device_free.h +++ b/thrust/thrust/device_free.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/device_make_unique.h b/thrust/thrust/device_make_unique.h index 6f63f4cfb70..3d493690b8f 100644 --- a/thrust/thrust/device_make_unique.h +++ b/thrust/thrust/device_make_unique.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/device_malloc.h b/thrust/thrust/device_malloc.h index ed8276dee6f..be9e303138a 100644 --- a/thrust/thrust/device_malloc.h +++ b/thrust/thrust/device_malloc.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include // for std::size_t diff --git a/thrust/thrust/device_malloc_allocator.h b/thrust/thrust/device_malloc_allocator.h index e34f3be3b14..c4170e99d74 100644 --- a/thrust/thrust/device_malloc_allocator.h +++ b/thrust/thrust/device_malloc_allocator.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/device_new.h b/thrust/thrust/device_new.h index bfd252f0b3c..29c0fafbbc5 100644 --- a/thrust/thrust/device_new.h +++ b/thrust/thrust/device_new.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // #include this for size_t #include diff --git a/thrust/thrust/device_new_allocator.h b/thrust/thrust/device_new_allocator.h index a34888140ae..7b3e6ea203e 100644 --- a/thrust/thrust/device_new_allocator.h +++ b/thrust/thrust/device_new_allocator.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/device_ptr.h b/thrust/thrust/device_ptr.h index 8d3890c0cc8..f014dbb8003 100644 --- a/thrust/thrust/device_ptr.h +++ b/thrust/thrust/device_ptr.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/device_reference.h b/thrust/thrust/device_reference.h index 50601ec5179..ddde5bf506d 100644 --- a/thrust/thrust/device_reference.h +++ b/thrust/thrust/device_reference.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/device_vector.h b/thrust/thrust/device_vector.h index 47d67b412d7..fc3e15c8082 100644 --- a/thrust/thrust/device_vector.h +++ b/thrust/thrust/device_vector.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/distance.h b/thrust/thrust/distance.h index 82f045a06bb..82562bb3738 100644 --- a/thrust/thrust/distance.h +++ b/thrust/thrust/distance.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/equal.h b/thrust/thrust/equal.h index d85a36cc6b1..4a0db021e5e 100644 --- a/thrust/thrust/equal.h +++ b/thrust/thrust/equal.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/event.h b/thrust/thrust/event.h index d7b6a5d393b..48fb9cc7898 100644 --- a/thrust/thrust/event.h +++ b/thrust/thrust/event.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/execution_policy.h b/thrust/thrust/execution_policy.h index fe0ca84a728..99e9a371cac 100644 --- a/thrust/thrust/execution_policy.h +++ b/thrust/thrust/execution_policy.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/extrema.h b/thrust/thrust/extrema.h index f680eb35ebf..bb3965d968e 100644 --- a/thrust/thrust/extrema.h +++ b/thrust/thrust/extrema.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/fill.h b/thrust/thrust/fill.h index 33ff6d614c3..1e8e13bed04 100644 --- a/thrust/thrust/fill.h +++ b/thrust/thrust/fill.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/find.h b/thrust/thrust/find.h index 4bfa9952203..5dfde4e6b87 100644 --- a/thrust/thrust/find.h +++ b/thrust/thrust/find.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/for_each.h b/thrust/thrust/for_each.h index 1f11ea1a696..15976224607 100644 --- a/thrust/thrust/for_each.h +++ b/thrust/thrust/for_each.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/functional.h b/thrust/thrust/functional.h index 009b5b96f44..f7702ef5908 100644 --- a/thrust/thrust/functional.h +++ b/thrust/thrust/functional.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/future.h b/thrust/thrust/future.h index 5a896c23705..73822c9a4f8 100644 --- a/thrust/thrust/future.h +++ b/thrust/thrust/future.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/gather.h b/thrust/thrust/gather.h index b0d4553f812..2e624769868 100644 --- a/thrust/thrust/gather.h +++ b/thrust/thrust/gather.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/generate.h b/thrust/thrust/generate.h index 671383018b8..4265c89c748 100644 --- a/thrust/thrust/generate.h +++ b/thrust/thrust/generate.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/host_vector.h b/thrust/thrust/host_vector.h index 2dd00cd59c7..897884115e5 100644 --- a/thrust/thrust/host_vector.h +++ b/thrust/thrust/host_vector.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/inner_product.h b/thrust/thrust/inner_product.h index a4cda16172d..fbd21f4947c 100644 --- a/thrust/thrust/inner_product.h +++ b/thrust/thrust/inner_product.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/iterator/constant_iterator.h b/thrust/thrust/iterator/constant_iterator.h index dc773489299..7d460f83d45 100644 --- a/thrust/thrust/iterator/constant_iterator.h +++ b/thrust/thrust/iterator/constant_iterator.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/counting_iterator.h b/thrust/thrust/iterator/counting_iterator.h index 70cf6d12732..9c42045c3ab 100644 --- a/thrust/thrust/iterator/counting_iterator.h +++ b/thrust/thrust/iterator/counting_iterator.h @@ -33,11 +33,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/iterator/detail/any_assign.h b/thrust/thrust/iterator/detail/any_assign.h index f07ec00d86c..2bab210a277 100644 --- a/thrust/thrust/iterator/detail/any_assign.h +++ b/thrust/thrust/iterator/detail/any_assign.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN namespace detail diff --git a/thrust/thrust/iterator/detail/any_system_tag.h b/thrust/thrust/iterator/detail/any_system_tag.h index e53323f807f..a495aebec66 100644 --- a/thrust/thrust/iterator/detail/any_system_tag.h +++ b/thrust/thrust/iterator/detail/any_system_tag.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/iterator/detail/constant_iterator_base.h b/thrust/thrust/iterator/detail/constant_iterator_base.h index 22065dc1489..d852b2cbc3d 100644 --- a/thrust/thrust/iterator/detail/constant_iterator_base.h +++ b/thrust/thrust/iterator/detail/constant_iterator_base.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/detail/counting_iterator.inl b/thrust/thrust/iterator/detail/counting_iterator.inl index 0924ae8a9dc..686af442dc3 100644 --- a/thrust/thrust/iterator/detail/counting_iterator.inl +++ b/thrust/thrust/iterator/detail/counting_iterator.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/detail/device_system_tag.h b/thrust/thrust/iterator/detail/device_system_tag.h index f9518536927..282eafd895f 100644 --- a/thrust/thrust/iterator/detail/device_system_tag.h +++ b/thrust/thrust/iterator/detail/device_system_tag.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // #include the device system's execution_policy header #define __THRUST_DEVICE_SYSTEM_TAG_HEADER <__THRUST_DEVICE_SYSTEM_ROOT/detail/execution_policy.h> diff --git a/thrust/thrust/iterator/detail/discard_iterator_base.h b/thrust/thrust/iterator/detail/discard_iterator_base.h index aa213cd5169..8fd0595d15c 100644 --- a/thrust/thrust/iterator/detail/discard_iterator_base.h +++ b/thrust/thrust/iterator/detail/discard_iterator_base.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/iterator/detail/distance_from_result.h b/thrust/thrust/iterator/detail/distance_from_result.h index 478cdf00b98..5b76b930be1 100644 --- a/thrust/thrust/iterator/detail/distance_from_result.h +++ b/thrust/thrust/iterator/detail/distance_from_result.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/iterator/detail/host_system_tag.h b/thrust/thrust/iterator/detail/host_system_tag.h index 28523ff4ef6..b20277dd3c1 100644 --- a/thrust/thrust/iterator/detail/host_system_tag.h +++ b/thrust/thrust/iterator/detail/host_system_tag.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // #include the host system's execution_policy header #define __THRUST_HOST_SYSTEM_TAG_HEADER <__THRUST_HOST_SYSTEM_ROOT/detail/execution_policy.h> diff --git a/thrust/thrust/iterator/detail/is_iterator_category.h b/thrust/thrust/iterator/detail/is_iterator_category.h index d6ccad460e9..a04952f9fbc 100644 --- a/thrust/thrust/iterator/detail/is_iterator_category.h +++ b/thrust/thrust/iterator/detail/is_iterator_category.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/detail/iterator_adaptor_base.h b/thrust/thrust/iterator/detail/iterator_adaptor_base.h index b7abacf35b7..df54404aa90 100644 --- a/thrust/thrust/iterator/detail/iterator_adaptor_base.h +++ b/thrust/thrust/iterator/detail/iterator_adaptor_base.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/detail/iterator_category_to_system.h b/thrust/thrust/iterator/detail/iterator_category_to_system.h index 68bfcfb6fae..0100ebde501 100644 --- a/thrust/thrust/iterator/detail/iterator_category_to_system.h +++ b/thrust/thrust/iterator/detail/iterator_category_to_system.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/iterator/detail/iterator_category_to_traversal.h b/thrust/thrust/iterator/detail/iterator_category_to_traversal.h index 39bd5d325ce..c76440a04f1 100644 --- a/thrust/thrust/iterator/detail/iterator_category_to_traversal.h +++ b/thrust/thrust/iterator/detail/iterator_category_to_traversal.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/iterator/detail/iterator_category_with_system_and_traversal.h b/thrust/thrust/iterator/detail/iterator_category_with_system_and_traversal.h index a06f303f377..42ec5c8e9f5 100644 --- a/thrust/thrust/iterator/detail/iterator_category_with_system_and_traversal.h +++ b/thrust/thrust/iterator/detail/iterator_category_with_system_and_traversal.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN namespace detail diff --git a/thrust/thrust/iterator/detail/iterator_facade_category.h b/thrust/thrust/iterator/detail/iterator_facade_category.h index 5b3af7ecbb0..ac203b27cd2 100644 --- a/thrust/thrust/iterator/detail/iterator_facade_category.h +++ b/thrust/thrust/iterator/detail/iterator_facade_category.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/iterator/detail/iterator_traits.inl b/thrust/thrust/iterator/detail/iterator_traits.inl index cdc99473776..87d7ad54f01 100644 --- a/thrust/thrust/iterator/detail/iterator_traits.inl +++ b/thrust/thrust/iterator/detail/iterator_traits.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/detail/iterator_traversal_tags.h b/thrust/thrust/iterator/detail/iterator_traversal_tags.h index 88efd921649..b93b66e7806 100644 --- a/thrust/thrust/iterator/detail/iterator_traversal_tags.h +++ b/thrust/thrust/iterator/detail/iterator_traversal_tags.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/iterator/detail/join_iterator.h b/thrust/thrust/iterator/detail/join_iterator.h index d62099abb6b..f484b8cbc76 100644 --- a/thrust/thrust/iterator/detail/join_iterator.h +++ b/thrust/thrust/iterator/detail/join_iterator.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/iterator/detail/minimum_category.h b/thrust/thrust/iterator/detail/minimum_category.h index bbbcbe08454..5455d2ab747 100644 --- a/thrust/thrust/iterator/detail/minimum_category.h +++ b/thrust/thrust/iterator/detail/minimum_category.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/iterator/detail/minimum_system.h b/thrust/thrust/iterator/detail/minimum_system.h index e94fbc5e3d5..40331218dbf 100644 --- a/thrust/thrust/iterator/detail/minimum_system.h +++ b/thrust/thrust/iterator/detail/minimum_system.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/iterator/detail/normal_iterator.h b/thrust/thrust/iterator/detail/normal_iterator.h index 1d0511eb2bf..0633d94c38b 100644 --- a/thrust/thrust/iterator/detail/normal_iterator.h +++ b/thrust/thrust/iterator/detail/normal_iterator.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/detail/permutation_iterator_base.h b/thrust/thrust/iterator/detail/permutation_iterator_base.h index 33d271588e2..e0f02cc361b 100644 --- a/thrust/thrust/iterator/detail/permutation_iterator_base.h +++ b/thrust/thrust/iterator/detail/permutation_iterator_base.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/detail/retag.h b/thrust/thrust/iterator/detail/retag.h index fc3e96b1785..102c3fffdf2 100644 --- a/thrust/thrust/iterator/detail/retag.h +++ b/thrust/thrust/iterator/detail/retag.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/iterator/detail/reverse_iterator.inl b/thrust/thrust/iterator/detail/reverse_iterator.inl index 36b8705abba..9e485f418e0 100644 --- a/thrust/thrust/iterator/detail/reverse_iterator.inl +++ b/thrust/thrust/iterator/detail/reverse_iterator.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/detail/reverse_iterator_base.h b/thrust/thrust/iterator/detail/reverse_iterator_base.h index 88fd0e4e0ba..df1da367845 100644 --- a/thrust/thrust/iterator/detail/reverse_iterator_base.h +++ b/thrust/thrust/iterator/detail/reverse_iterator_base.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/detail/tagged_iterator.h b/thrust/thrust/iterator/detail/tagged_iterator.h index f461ada8a80..704400c1afb 100644 --- a/thrust/thrust/iterator/detail/tagged_iterator.h +++ b/thrust/thrust/iterator/detail/tagged_iterator.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/iterator/detail/transform_input_output_iterator.inl b/thrust/thrust/iterator/detail/transform_input_output_iterator.inl index 1020c3b8086..cb86c549e7e 100644 --- a/thrust/thrust/iterator/detail/transform_input_output_iterator.inl +++ b/thrust/thrust/iterator/detail/transform_input_output_iterator.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/detail/transform_iterator.inl b/thrust/thrust/iterator/detail/transform_iterator.inl index 4616e021e06..3179bb4808b 100644 --- a/thrust/thrust/iterator/detail/transform_iterator.inl +++ b/thrust/thrust/iterator/detail/transform_iterator.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/iterator/detail/transform_output_iterator.inl b/thrust/thrust/iterator/detail/transform_output_iterator.inl index 94aa6288f3a..17c5414d7e3 100644 --- a/thrust/thrust/iterator/detail/transform_output_iterator.inl +++ b/thrust/thrust/iterator/detail/transform_output_iterator.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/detail/tuple_of_iterator_references.h b/thrust/thrust/iterator/detail/tuple_of_iterator_references.h index c04c9705a5f..1bb7219096f 100644 --- a/thrust/thrust/iterator/detail/tuple_of_iterator_references.h +++ b/thrust/thrust/iterator/detail/tuple_of_iterator_references.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/detail/universal_categories.h b/thrust/thrust/iterator/detail/universal_categories.h index b5410b2c442..76c59352b73 100644 --- a/thrust/thrust/iterator/detail/universal_categories.h +++ b/thrust/thrust/iterator/detail/universal_categories.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include // XXX eliminate this file diff --git a/thrust/thrust/iterator/detail/zip_iterator.inl b/thrust/thrust/iterator/detail/zip_iterator.inl index 9419737d4fd..66f0510f028 100644 --- a/thrust/thrust/iterator/detail/zip_iterator.inl +++ b/thrust/thrust/iterator/detail/zip_iterator.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/detail/zip_iterator_base.h b/thrust/thrust/iterator/detail/zip_iterator_base.h index cfecd742ac0..f4f38621e2c 100644 --- a/thrust/thrust/iterator/detail/zip_iterator_base.h +++ b/thrust/thrust/iterator/detail/zip_iterator_base.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/discard_iterator.h b/thrust/thrust/iterator/discard_iterator.h index 7d3b5467e62..90c31e82e44 100644 --- a/thrust/thrust/iterator/discard_iterator.h +++ b/thrust/thrust/iterator/discard_iterator.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/iterator_adaptor.h b/thrust/thrust/iterator/iterator_adaptor.h index ff5af899984..ca5475fede9 100644 --- a/thrust/thrust/iterator/iterator_adaptor.h +++ b/thrust/thrust/iterator/iterator_adaptor.h @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/iterator/iterator_categories.h b/thrust/thrust/iterator/iterator_categories.h index 4b02ec6be25..1f418c28e5f 100644 --- a/thrust/thrust/iterator/iterator_categories.h +++ b/thrust/thrust/iterator/iterator_categories.h @@ -33,11 +33,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/iterator/iterator_facade.h b/thrust/thrust/iterator/iterator_facade.h index e1d4e0889d8..08a1e110272 100644 --- a/thrust/thrust/iterator/iterator_facade.h +++ b/thrust/thrust/iterator/iterator_facade.h @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/iterator/iterator_traits.h b/thrust/thrust/iterator/iterator_traits.h index 7d9cf29c942..ca0e0146cb9 100644 --- a/thrust/thrust/iterator/iterator_traits.h +++ b/thrust/thrust/iterator/iterator_traits.h @@ -32,11 +32,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/iterator/permutation_iterator.h b/thrust/thrust/iterator/permutation_iterator.h index 6a615eaff2a..28aa82686c7 100644 --- a/thrust/thrust/iterator/permutation_iterator.h +++ b/thrust/thrust/iterator/permutation_iterator.h @@ -33,11 +33,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/iterator/retag.h b/thrust/thrust/iterator/retag.h index 17740d3f1bd..22fb8502b10 100644 --- a/thrust/thrust/iterator/retag.h +++ b/thrust/thrust/iterator/retag.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/iterator/reverse_iterator.h b/thrust/thrust/iterator/reverse_iterator.h index 0f903ca4886..262facb3c73 100644 --- a/thrust/thrust/iterator/reverse_iterator.h +++ b/thrust/thrust/iterator/reverse_iterator.h @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/iterator/transform_input_output_iterator.h b/thrust/thrust/iterator/transform_input_output_iterator.h index f050f509bdf..3e57dd0de95 100644 --- a/thrust/thrust/iterator/transform_input_output_iterator.h +++ b/thrust/thrust/iterator/transform_input_output_iterator.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/iterator/transform_iterator.h b/thrust/thrust/iterator/transform_iterator.h index 128ddf3f73d..b0f422b88d0 100644 --- a/thrust/thrust/iterator/transform_iterator.h +++ b/thrust/thrust/iterator/transform_iterator.h @@ -34,11 +34,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // #include the details first #include diff --git a/thrust/thrust/iterator/transform_output_iterator.h b/thrust/thrust/iterator/transform_output_iterator.h index d5b1f272f74..fc637e535ce 100644 --- a/thrust/thrust/iterator/transform_output_iterator.h +++ b/thrust/thrust/iterator/transform_output_iterator.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/iterator/zip_iterator.h b/thrust/thrust/iterator/zip_iterator.h index fb55295aaa9..5151eacafb7 100644 --- a/thrust/thrust/iterator/zip_iterator.h +++ b/thrust/thrust/iterator/zip_iterator.h @@ -33,11 +33,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/limits.h b/thrust/thrust/limits.h index 92281ea0a59..1425ac1a277 100644 --- a/thrust/thrust/limits.h +++ b/thrust/thrust/limits.h @@ -7,11 +7,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/logical.h b/thrust/thrust/logical.h index 6e4e7d4e45a..68e24819c61 100644 --- a/thrust/thrust/logical.h +++ b/thrust/thrust/logical.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/memory.h b/thrust/thrust/memory.h index 39557fe9f48..f6f90516520 100644 --- a/thrust/thrust/memory.h +++ b/thrust/thrust/memory.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/merge.h b/thrust/thrust/merge.h index 85139edc52d..42401d7e619 100644 --- a/thrust/thrust/merge.h +++ b/thrust/thrust/merge.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/mismatch.h b/thrust/thrust/mismatch.h index ed614df340a..3bb1c9bc1ac 100644 --- a/thrust/thrust/mismatch.h +++ b/thrust/thrust/mismatch.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/mr/allocator.h b/thrust/thrust/mr/allocator.h index e6dd57b763b..fd6fd000d73 100644 --- a/thrust/thrust/mr/allocator.h +++ b/thrust/thrust/mr/allocator.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/mr/device_memory_resource.h b/thrust/thrust/mr/device_memory_resource.h index 6dce1a6e09b..aad807db935 100644 --- a/thrust/thrust/mr/device_memory_resource.h +++ b/thrust/thrust/mr/device_memory_resource.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // #include the device system's memory_resource header #define __THRUST_DEVICE_SYSTEM_MEMORY_HEADER <__THRUST_DEVICE_SYSTEM_ROOT/memory_resource.h> diff --git a/thrust/thrust/mr/disjoint_pool.h b/thrust/thrust/mr/disjoint_pool.h index 245cc91a8a0..2d4e05d44c2 100644 --- a/thrust/thrust/mr/disjoint_pool.h +++ b/thrust/thrust/mr/disjoint_pool.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/mr/disjoint_sync_pool.h b/thrust/thrust/mr/disjoint_sync_pool.h index aea7fc2a109..738c4878643 100644 --- a/thrust/thrust/mr/disjoint_sync_pool.h +++ b/thrust/thrust/mr/disjoint_sync_pool.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/mr/disjoint_tls_pool.h b/thrust/thrust/mr/disjoint_tls_pool.h index 730f1c2a116..f509eec55c9 100644 --- a/thrust/thrust/mr/disjoint_tls_pool.h +++ b/thrust/thrust/mr/disjoint_tls_pool.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/mr/fancy_pointer_resource.h b/thrust/thrust/mr/fancy_pointer_resource.h index 3282e81ac98..f98da296bdb 100644 --- a/thrust/thrust/mr/fancy_pointer_resource.h +++ b/thrust/thrust/mr/fancy_pointer_resource.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/mr/host_memory_resource.h b/thrust/thrust/mr/host_memory_resource.h index 6460148d4fb..df016a1d934 100644 --- a/thrust/thrust/mr/host_memory_resource.h +++ b/thrust/thrust/mr/host_memory_resource.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // #include the host system's memory_resource header #define __THRUST_HOST_SYSTEM_MEMORY_HEADER <__THRUST_HOST_SYSTEM_ROOT/memory_resource.h> diff --git a/thrust/thrust/mr/memory_resource.h b/thrust/thrust/mr/memory_resource.h index bda6d54ce61..3b4ebede97c 100644 --- a/thrust/thrust/mr/memory_resource.h +++ b/thrust/thrust/mr/memory_resource.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #ifdef THRUST_MR_STD_MR_HEADER diff --git a/thrust/thrust/mr/new.h b/thrust/thrust/mr/new.h index ccc788e9aca..94e2cc7586c 100644 --- a/thrust/thrust/mr/new.h +++ b/thrust/thrust/mr/new.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/mr/polymorphic_adaptor.h b/thrust/thrust/mr/polymorphic_adaptor.h index 9114be766d9..f44241e1cc5 100644 --- a/thrust/thrust/mr/polymorphic_adaptor.h +++ b/thrust/thrust/mr/polymorphic_adaptor.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/mr/pool.h b/thrust/thrust/mr/pool.h index 2eee32ced63..0214f484b15 100644 --- a/thrust/thrust/mr/pool.h +++ b/thrust/thrust/mr/pool.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/mr/pool_options.h b/thrust/thrust/mr/pool_options.h index c0346b13c95..1e5d3b3abb9 100644 --- a/thrust/thrust/mr/pool_options.h +++ b/thrust/thrust/mr/pool_options.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/mr/sync_pool.h b/thrust/thrust/mr/sync_pool.h index 6e1a338226e..80e2e5a8d99 100644 --- a/thrust/thrust/mr/sync_pool.h +++ b/thrust/thrust/mr/sync_pool.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/mr/tls_pool.h b/thrust/thrust/mr/tls_pool.h index f8984d97be6..7e3dcd86f48 100644 --- a/thrust/thrust/mr/tls_pool.h +++ b/thrust/thrust/mr/tls_pool.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/mr/universal_memory_resource.h b/thrust/thrust/mr/universal_memory_resource.h index f056fda5efc..814be582c65 100644 --- a/thrust/thrust/mr/universal_memory_resource.h +++ b/thrust/thrust/mr/universal_memory_resource.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/mr/validator.h b/thrust/thrust/mr/validator.h index 3a9c9c3da99..2fed90deb42 100644 --- a/thrust/thrust/mr/validator.h +++ b/thrust/thrust/mr/validator.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/optional.h b/thrust/thrust/optional.h index 746f202db24..a0215069861 100644 --- a/thrust/thrust/optional.h +++ b/thrust/thrust/optional.h @@ -15,11 +15,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/pair.h b/thrust/thrust/pair.h index 15ebc1cc5ee..4fd2e8f8333 100644 --- a/thrust/thrust/pair.h +++ b/thrust/thrust/pair.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/partition.h b/thrust/thrust/partition.h index c98116c7fc3..b5b90387773 100644 --- a/thrust/thrust/partition.h +++ b/thrust/thrust/partition.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/per_device_resource.h b/thrust/thrust/per_device_resource.h index 8ee9b5d5b19..646168912a5 100644 --- a/thrust/thrust/per_device_resource.h +++ b/thrust/thrust/per_device_resource.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/random.h b/thrust/thrust/random.h index 223566dae01..46e3dabc0fc 100644 --- a/thrust/thrust/random.h +++ b/thrust/thrust/random.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include // RNGs diff --git a/thrust/thrust/random/detail/discard_block_engine.inl b/thrust/thrust/random/detail/discard_block_engine.inl index fc95d7e29ea..2e0638b0e11 100644 --- a/thrust/thrust/random/detail/discard_block_engine.inl +++ b/thrust/thrust/random/detail/discard_block_engine.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/random/detail/linear_congruential_engine.inl b/thrust/thrust/random/detail/linear_congruential_engine.inl index 5058d1a912d..10ab3c144e4 100644 --- a/thrust/thrust/random/detail/linear_congruential_engine.inl +++ b/thrust/thrust/random/detail/linear_congruential_engine.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/random/detail/linear_congruential_engine_discard.h b/thrust/thrust/random/detail/linear_congruential_engine_discard.h index c6c6fd54411..2e938759a4d 100644 --- a/thrust/thrust/random/detail/linear_congruential_engine_discard.h +++ b/thrust/thrust/random/detail/linear_congruential_engine_discard.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/random/detail/linear_feedback_shift_engine.inl b/thrust/thrust/random/detail/linear_feedback_shift_engine.inl index 90be369f33e..b6eaf1b7439 100644 --- a/thrust/thrust/random/detail/linear_feedback_shift_engine.inl +++ b/thrust/thrust/random/detail/linear_feedback_shift_engine.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/random/detail/linear_feedback_shift_engine_wordmask.h b/thrust/thrust/random/detail/linear_feedback_shift_engine_wordmask.h index 627ce8afd42..5fb5df9692d 100644 --- a/thrust/thrust/random/detail/linear_feedback_shift_engine_wordmask.h +++ b/thrust/thrust/random/detail/linear_feedback_shift_engine_wordmask.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/random/detail/mod.h b/thrust/thrust/random/detail/mod.h index b3f0de9445e..90743cb2bfb 100644 --- a/thrust/thrust/random/detail/mod.h +++ b/thrust/thrust/random/detail/mod.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/random/detail/normal_distribution.inl b/thrust/thrust/random/detail/normal_distribution.inl index 46c3667f95c..81fc00031c6 100644 --- a/thrust/thrust/random/detail/normal_distribution.inl +++ b/thrust/thrust/random/detail/normal_distribution.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/random/detail/normal_distribution_base.h b/thrust/thrust/random/detail/normal_distribution_base.h index fed4f718ec7..0477210b1ce 100644 --- a/thrust/thrust/random/detail/normal_distribution_base.h +++ b/thrust/thrust/random/detail/normal_distribution_base.h @@ -25,11 +25,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/random/detail/random_core_access.h b/thrust/thrust/random/detail/random_core_access.h index 549e268e42f..ee0805701eb 100644 --- a/thrust/thrust/random/detail/random_core_access.h +++ b/thrust/thrust/random/detail/random_core_access.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/random/detail/subtract_with_carry_engine.inl b/thrust/thrust/random/detail/subtract_with_carry_engine.inl index e9518fdf0de..1c8af3b19ba 100644 --- a/thrust/thrust/random/detail/subtract_with_carry_engine.inl +++ b/thrust/thrust/random/detail/subtract_with_carry_engine.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/random/detail/uniform_int_distribution.inl b/thrust/thrust/random/detail/uniform_int_distribution.inl index 00e9cfe1b64..b2b9c2b089b 100644 --- a/thrust/thrust/random/detail/uniform_int_distribution.inl +++ b/thrust/thrust/random/detail/uniform_int_distribution.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/random/detail/uniform_real_distribution.inl b/thrust/thrust/random/detail/uniform_real_distribution.inl index f7a7ec4074c..8e45b8c3db4 100644 --- a/thrust/thrust/random/detail/uniform_real_distribution.inl +++ b/thrust/thrust/random/detail/uniform_real_distribution.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/random/detail/xor_combine_engine.inl b/thrust/thrust/random/detail/xor_combine_engine.inl index 3fbce644ac7..a105b404bf5 100644 --- a/thrust/thrust/random/detail/xor_combine_engine.inl +++ b/thrust/thrust/random/detail/xor_combine_engine.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/random/detail/xor_combine_engine_max.h b/thrust/thrust/random/detail/xor_combine_engine_max.h index f450aaeebc3..51b720b5613 100644 --- a/thrust/thrust/random/detail/xor_combine_engine_max.h +++ b/thrust/thrust/random/detail/xor_combine_engine_max.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/random/discard_block_engine.h b/thrust/thrust/random/discard_block_engine.h index 96c50abbd49..da65f266b91 100644 --- a/thrust/thrust/random/discard_block_engine.h +++ b/thrust/thrust/random/discard_block_engine.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/random/linear_congruential_engine.h b/thrust/thrust/random/linear_congruential_engine.h index 63e31a2dcc3..8cdefb1a6e8 100644 --- a/thrust/thrust/random/linear_congruential_engine.h +++ b/thrust/thrust/random/linear_congruential_engine.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/random/linear_feedback_shift_engine.h b/thrust/thrust/random/linear_feedback_shift_engine.h index ea25a883266..466afe9c494 100644 --- a/thrust/thrust/random/linear_feedback_shift_engine.h +++ b/thrust/thrust/random/linear_feedback_shift_engine.h @@ -31,11 +31,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include // for size_t diff --git a/thrust/thrust/random/normal_distribution.h b/thrust/thrust/random/normal_distribution.h index e781e8a0272..e5b6ea53d4c 100644 --- a/thrust/thrust/random/normal_distribution.h +++ b/thrust/thrust/random/normal_distribution.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/random/subtract_with_carry_engine.h b/thrust/thrust/random/subtract_with_carry_engine.h index 7f62615fc29..b0130016280 100644 --- a/thrust/thrust/random/subtract_with_carry_engine.h +++ b/thrust/thrust/random/subtract_with_carry_engine.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/random/uniform_int_distribution.h b/thrust/thrust/random/uniform_int_distribution.h index 7d2db7e4b07..93cea2bd7b4 100644 --- a/thrust/thrust/random/uniform_int_distribution.h +++ b/thrust/thrust/random/uniform_int_distribution.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/random/uniform_real_distribution.h b/thrust/thrust/random/uniform_real_distribution.h index bfc703a5e83..f8db56eda24 100644 --- a/thrust/thrust/random/uniform_real_distribution.h +++ b/thrust/thrust/random/uniform_real_distribution.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/random/xor_combine_engine.h b/thrust/thrust/random/xor_combine_engine.h index b560b85fcf4..616b87513ae 100644 --- a/thrust/thrust/random/xor_combine_engine.h +++ b/thrust/thrust/random/xor_combine_engine.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/reduce.h b/thrust/thrust/reduce.h index 8c9cc5e5172..393f09e5709 100644 --- a/thrust/thrust/reduce.h +++ b/thrust/thrust/reduce.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/remove.h b/thrust/thrust/remove.h index c571d16e1ff..f1702dcb031 100644 --- a/thrust/thrust/remove.h +++ b/thrust/thrust/remove.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/replace.h b/thrust/thrust/replace.h index 4488f780691..e999f26878c 100644 --- a/thrust/thrust/replace.h +++ b/thrust/thrust/replace.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/reverse.h b/thrust/thrust/reverse.h index ac40b2dfa49..88ef274b0e3 100644 --- a/thrust/thrust/reverse.h +++ b/thrust/thrust/reverse.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/scan.h b/thrust/thrust/scan.h index 79d2a85621a..cb48ba3b02c 100644 --- a/thrust/thrust/scan.h +++ b/thrust/thrust/scan.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/scatter.h b/thrust/thrust/scatter.h index 40a5e45264c..25e5dc54593 100644 --- a/thrust/thrust/scatter.h +++ b/thrust/thrust/scatter.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/sequence.h b/thrust/thrust/sequence.h index fe5f6f64396..c74dcb66b35 100644 --- a/thrust/thrust/sequence.h +++ b/thrust/thrust/sequence.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/set_operations.h b/thrust/thrust/set_operations.h index 223907a4605..95236a195ca 100644 --- a/thrust/thrust/set_operations.h +++ b/thrust/thrust/set_operations.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/shuffle.h b/thrust/thrust/shuffle.h index 6986d0fdfe8..3203722ff4f 100644 --- a/thrust/thrust/shuffle.h +++ b/thrust/thrust/shuffle.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/sort.h b/thrust/thrust/sort.h index 8c4f0d49b94..5b5b3ced54d 100644 --- a/thrust/thrust/sort.h +++ b/thrust/thrust/sort.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/swap.h b/thrust/thrust/swap.h index 7716458b004..9b3ee62587c 100644 --- a/thrust/thrust/swap.h +++ b/thrust/thrust/swap.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/cpp/detail/adjacent_difference.h b/thrust/thrust/system/cpp/detail/adjacent_difference.h index dc050ffb801..26731f88a4f 100644 --- a/thrust/thrust/system/cpp/detail/adjacent_difference.h +++ b/thrust/thrust/system/cpp/detail/adjacent_difference.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits adjacent_difference #include diff --git a/thrust/thrust/system/cpp/detail/assign_value.h b/thrust/thrust/system/cpp/detail/assign_value.h index 6596d8a9aae..eaae1c3df31 100644 --- a/thrust/thrust/system/cpp/detail/assign_value.h +++ b/thrust/thrust/system/cpp/detail/assign_value.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits assign_value #include diff --git a/thrust/thrust/system/cpp/detail/binary_search.h b/thrust/thrust/system/cpp/detail/binary_search.h index 10129190061..2531411b521 100644 --- a/thrust/thrust/system/cpp/detail/binary_search.h +++ b/thrust/thrust/system/cpp/detail/binary_search.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/system/cpp/detail/copy.h b/thrust/thrust/system/cpp/detail/copy.h index 6edd9af7755..5b53b4444a7 100644 --- a/thrust/thrust/system/cpp/detail/copy.h +++ b/thrust/thrust/system/cpp/detail/copy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits copy #include diff --git a/thrust/thrust/system/cpp/detail/copy_if.h b/thrust/thrust/system/cpp/detail/copy_if.h index 3da9e682187..d178dfdd0cf 100644 --- a/thrust/thrust/system/cpp/detail/copy_if.h +++ b/thrust/thrust/system/cpp/detail/copy_if.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits copy_if #include diff --git a/thrust/thrust/system/cpp/detail/count.h b/thrust/thrust/system/cpp/detail/count.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/count.h +++ b/thrust/thrust/system/cpp/detail/count.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/equal.h b/thrust/thrust/system/cpp/detail/equal.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/equal.h +++ b/thrust/thrust/system/cpp/detail/equal.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/execution_policy.h b/thrust/thrust/system/cpp/detail/execution_policy.h index 39d19c3b222..9bcc0e4af01 100644 --- a/thrust/thrust/system/cpp/detail/execution_policy.h +++ b/thrust/thrust/system/cpp/detail/execution_policy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/cpp/detail/extrema.h b/thrust/thrust/system/cpp/detail/extrema.h index a5aa41669f2..ac5f433d9df 100644 --- a/thrust/thrust/system/cpp/detail/extrema.h +++ b/thrust/thrust/system/cpp/detail/extrema.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits extrema algorithms #include diff --git a/thrust/thrust/system/cpp/detail/fill.h b/thrust/thrust/system/cpp/detail/fill.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/fill.h +++ b/thrust/thrust/system/cpp/detail/fill.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/find.h b/thrust/thrust/system/cpp/detail/find.h index f246e9be742..807bbf0dea4 100644 --- a/thrust/thrust/system/cpp/detail/find.h +++ b/thrust/thrust/system/cpp/detail/find.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits find #include diff --git a/thrust/thrust/system/cpp/detail/for_each.h b/thrust/thrust/system/cpp/detail/for_each.h index 505ffd3285f..1bca0a76798 100644 --- a/thrust/thrust/system/cpp/detail/for_each.h +++ b/thrust/thrust/system/cpp/detail/for_each.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits for_each #include diff --git a/thrust/thrust/system/cpp/detail/gather.h b/thrust/thrust/system/cpp/detail/gather.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/gather.h +++ b/thrust/thrust/system/cpp/detail/gather.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/generate.h b/thrust/thrust/system/cpp/detail/generate.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/generate.h +++ b/thrust/thrust/system/cpp/detail/generate.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/get_value.h b/thrust/thrust/system/cpp/detail/get_value.h index a39301e3988..06d814e4a00 100644 --- a/thrust/thrust/system/cpp/detail/get_value.h +++ b/thrust/thrust/system/cpp/detail/get_value.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits get_value #include diff --git a/thrust/thrust/system/cpp/detail/inner_product.h b/thrust/thrust/system/cpp/detail/inner_product.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/inner_product.h +++ b/thrust/thrust/system/cpp/detail/inner_product.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/iter_swap.h b/thrust/thrust/system/cpp/detail/iter_swap.h index 3e419612d4a..d8f972e4c55 100644 --- a/thrust/thrust/system/cpp/detail/iter_swap.h +++ b/thrust/thrust/system/cpp/detail/iter_swap.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits iter_swap #include diff --git a/thrust/thrust/system/cpp/detail/logical.h b/thrust/thrust/system/cpp/detail/logical.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/logical.h +++ b/thrust/thrust/system/cpp/detail/logical.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/malloc_and_free.h b/thrust/thrust/system/cpp/detail/malloc_and_free.h index 2d3fb189ade..d0a884799e1 100644 --- a/thrust/thrust/system/cpp/detail/malloc_and_free.h +++ b/thrust/thrust/system/cpp/detail/malloc_and_free.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits malloc & free #include diff --git a/thrust/thrust/system/cpp/detail/memory.inl b/thrust/thrust/system/cpp/detail/memory.inl index f8ed48b32c8..2a7b9640aaa 100644 --- a/thrust/thrust/system/cpp/detail/memory.inl +++ b/thrust/thrust/system/cpp/detail/memory.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/cpp/detail/merge.h b/thrust/thrust/system/cpp/detail/merge.h index f7c60de2eea..418f19c8210 100644 --- a/thrust/thrust/system/cpp/detail/merge.h +++ b/thrust/thrust/system/cpp/detail/merge.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits merge #include diff --git a/thrust/thrust/system/cpp/detail/mismatch.h b/thrust/thrust/system/cpp/detail/mismatch.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/mismatch.h +++ b/thrust/thrust/system/cpp/detail/mismatch.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/par.h b/thrust/thrust/system/cpp/detail/par.h index 03a1c4d2b9a..0ee4bb6bba3 100644 --- a/thrust/thrust/system/cpp/detail/par.h +++ b/thrust/thrust/system/cpp/detail/par.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/cpp/detail/partition.h b/thrust/thrust/system/cpp/detail/partition.h index 742b7c806f7..568bac28113 100644 --- a/thrust/thrust/system/cpp/detail/partition.h +++ b/thrust/thrust/system/cpp/detail/partition.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits partition #include diff --git a/thrust/thrust/system/cpp/detail/per_device_resource.h b/thrust/thrust/system/cpp/detail/per_device_resource.h index 64c721210a7..855164195eb 100644 --- a/thrust/thrust/system/cpp/detail/per_device_resource.h +++ b/thrust/thrust/system/cpp/detail/per_device_resource.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special per device resource functions diff --git a/thrust/thrust/system/cpp/detail/reduce.h b/thrust/thrust/system/cpp/detail/reduce.h index 3197b30a97b..6d2fd67fceb 100644 --- a/thrust/thrust/system/cpp/detail/reduce.h +++ b/thrust/thrust/system/cpp/detail/reduce.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits reduce #include diff --git a/thrust/thrust/system/cpp/detail/reduce_by_key.h b/thrust/thrust/system/cpp/detail/reduce_by_key.h index 836628d2fdc..2d3d69d731f 100644 --- a/thrust/thrust/system/cpp/detail/reduce_by_key.h +++ b/thrust/thrust/system/cpp/detail/reduce_by_key.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits reduce_by_key #include diff --git a/thrust/thrust/system/cpp/detail/remove.h b/thrust/thrust/system/cpp/detail/remove.h index f2c673830e2..5b567db939a 100644 --- a/thrust/thrust/system/cpp/detail/remove.h +++ b/thrust/thrust/system/cpp/detail/remove.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits remove #include diff --git a/thrust/thrust/system/cpp/detail/replace.h b/thrust/thrust/system/cpp/detail/replace.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/replace.h +++ b/thrust/thrust/system/cpp/detail/replace.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/reverse.h b/thrust/thrust/system/cpp/detail/reverse.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/reverse.h +++ b/thrust/thrust/system/cpp/detail/reverse.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/scan.h b/thrust/thrust/system/cpp/detail/scan.h index 5c8beb197d9..4e7b688236c 100644 --- a/thrust/thrust/system/cpp/detail/scan.h +++ b/thrust/thrust/system/cpp/detail/scan.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits scan #include diff --git a/thrust/thrust/system/cpp/detail/scan_by_key.h b/thrust/thrust/system/cpp/detail/scan_by_key.h index b4aabfd1c1e..c7f45755213 100644 --- a/thrust/thrust/system/cpp/detail/scan_by_key.h +++ b/thrust/thrust/system/cpp/detail/scan_by_key.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits the scan_by_key algorithms #include diff --git a/thrust/thrust/system/cpp/detail/scatter.h b/thrust/thrust/system/cpp/detail/scatter.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/scatter.h +++ b/thrust/thrust/system/cpp/detail/scatter.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/sequence.h b/thrust/thrust/system/cpp/detail/sequence.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/sequence.h +++ b/thrust/thrust/system/cpp/detail/sequence.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/set_operations.h b/thrust/thrust/system/cpp/detail/set_operations.h index c5247efee00..499c6a4d52a 100644 --- a/thrust/thrust/system/cpp/detail/set_operations.h +++ b/thrust/thrust/system/cpp/detail/set_operations.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits the set operations #include diff --git a/thrust/thrust/system/cpp/detail/sort.h b/thrust/thrust/system/cpp/detail/sort.h index e25973ea166..3adf1fdea2e 100644 --- a/thrust/thrust/system/cpp/detail/sort.h +++ b/thrust/thrust/system/cpp/detail/sort.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits sort #include diff --git a/thrust/thrust/system/cpp/detail/swap_ranges.h b/thrust/thrust/system/cpp/detail/swap_ranges.h index 276381aadff..0d47507c298 100644 --- a/thrust/thrust/system/cpp/detail/swap_ranges.h +++ b/thrust/thrust/system/cpp/detail/swap_ranges.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // cpp has no special swap_ranges diff --git a/thrust/thrust/system/cpp/detail/tabulate.h b/thrust/thrust/system/cpp/detail/tabulate.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/tabulate.h +++ b/thrust/thrust/system/cpp/detail/tabulate.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/temporary_buffer.h b/thrust/thrust/system/cpp/detail/temporary_buffer.h index d666f267e35..e4d3b353309 100644 --- a/thrust/thrust/system/cpp/detail/temporary_buffer.h +++ b/thrust/thrust/system/cpp/detail/temporary_buffer.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special temporary buffer functions diff --git a/thrust/thrust/system/cpp/detail/transform.h b/thrust/thrust/system/cpp/detail/transform.h index 434e7a66535..6209884904e 100644 --- a/thrust/thrust/system/cpp/detail/transform.h +++ b/thrust/thrust/system/cpp/detail/transform.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // cpp has no special transform diff --git a/thrust/thrust/system/cpp/detail/transform_reduce.h b/thrust/thrust/system/cpp/detail/transform_reduce.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/transform_reduce.h +++ b/thrust/thrust/system/cpp/detail/transform_reduce.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/transform_scan.h b/thrust/thrust/system/cpp/detail/transform_scan.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/transform_scan.h +++ b/thrust/thrust/system/cpp/detail/transform_scan.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/uninitialized_copy.h b/thrust/thrust/system/cpp/detail/uninitialized_copy.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/uninitialized_copy.h +++ b/thrust/thrust/system/cpp/detail/uninitialized_copy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/uninitialized_fill.h b/thrust/thrust/system/cpp/detail/uninitialized_fill.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cpp/detail/uninitialized_fill.h +++ b/thrust/thrust/system/cpp/detail/uninitialized_fill.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cpp/detail/unique.h b/thrust/thrust/system/cpp/detail/unique.h index c00503fb282..db83cc4f221 100644 --- a/thrust/thrust/system/cpp/detail/unique.h +++ b/thrust/thrust/system/cpp/detail/unique.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits unique #include diff --git a/thrust/thrust/system/cpp/detail/unique_by_key.h b/thrust/thrust/system/cpp/detail/unique_by_key.h index 78e73f639e9..079ae9869b1 100644 --- a/thrust/thrust/system/cpp/detail/unique_by_key.h +++ b/thrust/thrust/system/cpp/detail/unique_by_key.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits unique_by_key #include diff --git a/thrust/thrust/system/cpp/detail/vector.inl b/thrust/thrust/system/cpp/detail/vector.inl index 96e0f285782..2a62cdfd80a 100644 --- a/thrust/thrust/system/cpp/detail/vector.inl +++ b/thrust/thrust/system/cpp/detail/vector.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/cpp/execution_policy.h b/thrust/thrust/system/cpp/execution_policy.h index f7aca1fb22f..b221bd8e997 100644 --- a/thrust/thrust/system/cpp/execution_policy.h +++ b/thrust/thrust/system/cpp/execution_policy.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // get the execution policies definitions first #include diff --git a/thrust/thrust/system/cpp/memory.h b/thrust/thrust/system/cpp/memory.h index d6451670c03..bc6976f7848 100644 --- a/thrust/thrust/system/cpp/memory.h +++ b/thrust/thrust/system/cpp/memory.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/cpp/memory_resource.h b/thrust/thrust/system/cpp/memory_resource.h index 1a0206f31e7..8dab97e68a9 100644 --- a/thrust/thrust/system/cpp/memory_resource.h +++ b/thrust/thrust/system/cpp/memory_resource.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/cpp/pointer.h b/thrust/thrust/system/cpp/pointer.h index 5e75aafd44c..befac3cf20d 100644 --- a/thrust/thrust/system/cpp/pointer.h +++ b/thrust/thrust/system/cpp/pointer.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/cpp/vector.h b/thrust/thrust/system/cpp/vector.h index 6122dd42bc8..855304c833a 100644 --- a/thrust/thrust/system/cpp/vector.h +++ b/thrust/thrust/system/cpp/vector.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/cuda/config.h b/thrust/thrust/system/cuda/config.h index 9ec5137f2af..b4c403bcd5f 100644 --- a/thrust/thrust/system/cuda/config.h +++ b/thrust/thrust/system/cuda/config.h @@ -36,11 +36,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // We don't directly include since it doesn't exist in // older releases. This header will always pull in version info: diff --git a/thrust/thrust/system/cuda/detail/adjacent_difference.h b/thrust/thrust/system/cuda/detail/adjacent_difference.h index 85c499b620a..035eadb0f64 100644 --- a/thrust/thrust/system/cuda/detail/adjacent_difference.h +++ b/thrust/thrust/system/cuda/detail/adjacent_difference.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC diff --git a/thrust/thrust/system/cuda/detail/assign_value.h b/thrust/thrust/system/cuda/detail/assign_value.h index 3e98b37d8e3..f26c70bc250 100644 --- a/thrust/thrust/system/cuda/detail/assign_value.h +++ b/thrust/thrust/system/cuda/detail/assign_value.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/async/copy.h b/thrust/thrust/system/cuda/detail/async/copy.h index af0040f18a2..6c0abd12f0c 100644 --- a/thrust/thrust/system/cuda/detail/async/copy.h +++ b/thrust/thrust/system/cuda/detail/async/copy.h @@ -31,11 +31,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/system/cuda/detail/async/customization.h b/thrust/thrust/system/cuda/detail/async/customization.h index 758370cf992..73ad89131a4 100644 --- a/thrust/thrust/system/cuda/detail/async/customization.h +++ b/thrust/thrust/system/cuda/detail/async/customization.h @@ -31,11 +31,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/system/cuda/detail/async/exclusive_scan.h b/thrust/thrust/system/cuda/detail/async/exclusive_scan.h index f600def0f85..e127e1d6c16 100644 --- a/thrust/thrust/system/cuda/detail/async/exclusive_scan.h +++ b/thrust/thrust/system/cuda/detail/async/exclusive_scan.h @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/system/cuda/detail/async/for_each.h b/thrust/thrust/system/cuda/detail/async/for_each.h index fe500fe8dfa..748604b7bd1 100644 --- a/thrust/thrust/system/cuda/detail/async/for_each.h +++ b/thrust/thrust/system/cuda/detail/async/for_each.h @@ -32,11 +32,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/system/cuda/detail/async/inclusive_scan.h b/thrust/thrust/system/cuda/detail/async/inclusive_scan.h index 2c6b3bdb72f..995037988be 100644 --- a/thrust/thrust/system/cuda/detail/async/inclusive_scan.h +++ b/thrust/thrust/system/cuda/detail/async/inclusive_scan.h @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/system/cuda/detail/async/reduce.h b/thrust/thrust/system/cuda/detail/async/reduce.h index 73351132df8..2d83e7e5f91 100644 --- a/thrust/thrust/system/cuda/detail/async/reduce.h +++ b/thrust/thrust/system/cuda/detail/async/reduce.h @@ -33,11 +33,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/system/cuda/detail/async/scan.h b/thrust/thrust/system/cuda/detail/async/scan.h index e946683061c..804ccd0231a 100644 --- a/thrust/thrust/system/cuda/detail/async/scan.h +++ b/thrust/thrust/system/cuda/detail/async/scan.h @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/system/cuda/detail/async/sort.h b/thrust/thrust/system/cuda/detail/async/sort.h index 9f1d567cad9..2ff75212dcf 100644 --- a/thrust/thrust/system/cuda/detail/async/sort.h +++ b/thrust/thrust/system/cuda/detail/async/sort.h @@ -31,11 +31,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/system/cuda/detail/async/transform.h b/thrust/thrust/system/cuda/detail/async/transform.h index 4bd8f96bddd..a969531f929 100644 --- a/thrust/thrust/system/cuda/detail/async/transform.h +++ b/thrust/thrust/system/cuda/detail/async/transform.h @@ -31,11 +31,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/system/cuda/detail/binary_search.h b/thrust/thrust/system/cuda/detail/binary_search.h index e7c5184af70..9d8b02f11e0 100644 --- a/thrust/thrust/system/cuda/detail/binary_search.h +++ b/thrust/thrust/system/cuda/detail/binary_search.h @@ -18,10 +18,12 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cuda/detail/cdp_dispatch.h b/thrust/thrust/system/cuda/detail/cdp_dispatch.h index 739d1cb7ecd..5e0bf61e90a 100644 --- a/thrust/thrust/system/cuda/detail/cdp_dispatch.h +++ b/thrust/thrust/system/cuda/detail/cdp_dispatch.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/cuda/detail/copy.h b/thrust/thrust/system/cuda/detail/copy.h index d394131d423..7b8ece39c0e 100644 --- a/thrust/thrust/system/cuda/detail/copy.h +++ b/thrust/thrust/system/cuda/detail/copy.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/system/cuda/detail/copy_if.h b/thrust/thrust/system/cuda/detail/copy_if.h index 4d99dda6f35..7eb95aa2903 100644 --- a/thrust/thrust/system/cuda/detail/copy_if.h +++ b/thrust/thrust/system/cuda/detail/copy_if.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC diff --git a/thrust/thrust/system/cuda/detail/core/agent_launcher.h b/thrust/thrust/system/cuda/detail/core/agent_launcher.h index 1958e2e20a0..5e43782ba6f 100644 --- a/thrust/thrust/system/cuda/detail/core/agent_launcher.h +++ b/thrust/thrust/system/cuda/detail/core/agent_launcher.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/system/cuda/detail/core/alignment.h b/thrust/thrust/system/cuda/detail/core/alignment.h index 8c28547001d..20d297099f4 100644 --- a/thrust/thrust/system/cuda/detail/core/alignment.h +++ b/thrust/thrust/system/cuda/detail/core/alignment.h @@ -20,11 +20,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/system/cuda/detail/core/triple_chevron_launch.h b/thrust/thrust/system/cuda/detail/core/triple_chevron_launch.h index 47af5501934..97eeabab09f 100644 --- a/thrust/thrust/system/cuda/detail/core/triple_chevron_launch.h +++ b/thrust/thrust/system/cuda/detail/core/triple_chevron_launch.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/cuda/detail/core/util.h b/thrust/thrust/system/cuda/detail/core/util.h index e4dbb8e5195..9857777f6c0 100644 --- a/thrust/thrust/system/cuda/detail/core/util.h +++ b/thrust/thrust/system/cuda/detail/core/util.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/cuda/detail/count.h b/thrust/thrust/system/cuda/detail/count.h index 2fc36c36b61..fb03577a2a4 100644 --- a/thrust/thrust/system/cuda/detail/count.h +++ b/thrust/thrust/system/cuda/detail/count.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/cross_system.h b/thrust/thrust/system/cuda/detail/cross_system.h index e01721f227e..cea9a44b445 100644 --- a/thrust/thrust/system/cuda/detail/cross_system.h +++ b/thrust/thrust/system/cuda/detail/cross_system.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/cuda/detail/dispatch.h b/thrust/thrust/system/cuda/detail/dispatch.h index 2e20a19f75f..5cdd747866d 100644 --- a/thrust/thrust/system/cuda/detail/dispatch.h +++ b/thrust/thrust/system/cuda/detail/dispatch.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/cuda/detail/equal.h b/thrust/thrust/system/cuda/detail/equal.h index 2adfa868c35..f4670f801f8 100644 --- a/thrust/thrust/system/cuda/detail/equal.h +++ b/thrust/thrust/system/cuda/detail/equal.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/error.inl b/thrust/thrust/system/cuda/detail/error.inl index 2bdd107c77f..accb6501f3c 100644 --- a/thrust/thrust/system/cuda/detail/error.inl +++ b/thrust/thrust/system/cuda/detail/error.inl @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/cuda/detail/execution_policy.h b/thrust/thrust/system/cuda/detail/execution_policy.h index 318ada1faa1..dbda4d0beae 100644 --- a/thrust/thrust/system/cuda/detail/execution_policy.h +++ b/thrust/thrust/system/cuda/detail/execution_policy.h @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/cuda/detail/extrema.h b/thrust/thrust/system/cuda/detail/extrema.h index 9aea95a1b07..6adbdba1816 100644 --- a/thrust/thrust/system/cuda/detail/extrema.h +++ b/thrust/thrust/system/cuda/detail/extrema.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC diff --git a/thrust/thrust/system/cuda/detail/fill.h b/thrust/thrust/system/cuda/detail/fill.h index 286937fe10a..95035e25aff 100644 --- a/thrust/thrust/system/cuda/detail/fill.h +++ b/thrust/thrust/system/cuda/detail/fill.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/find.h b/thrust/thrust/system/cuda/detail/find.h index adfa93fd484..36b1b99dbc5 100644 --- a/thrust/thrust/system/cuda/detail/find.h +++ b/thrust/thrust/system/cuda/detail/find.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/for_each.h b/thrust/thrust/system/cuda/detail/for_each.h index 8041de112db..2225320adcd 100644 --- a/thrust/thrust/system/cuda/detail/for_each.h +++ b/thrust/thrust/system/cuda/detail/for_each.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/future.inl b/thrust/thrust/system/cuda/detail/future.inl index 1ef39fee448..7a3083ad99f 100644 --- a/thrust/thrust/system/cuda/detail/future.inl +++ b/thrust/thrust/system/cuda/detail/future.inl @@ -10,11 +10,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/system/cuda/detail/gather.h b/thrust/thrust/system/cuda/detail/gather.h index bdbc7b566dc..9ae41d513a7 100644 --- a/thrust/thrust/system/cuda/detail/gather.h +++ b/thrust/thrust/system/cuda/detail/gather.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/generate.h b/thrust/thrust/system/cuda/detail/generate.h index dd8b7ce9d99..96eb79d45ba 100644 --- a/thrust/thrust/system/cuda/detail/generate.h +++ b/thrust/thrust/system/cuda/detail/generate.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/get_value.h b/thrust/thrust/system/cuda/detail/get_value.h index 6364970a243..8c788cddac9 100644 --- a/thrust/thrust/system/cuda/detail/get_value.h +++ b/thrust/thrust/system/cuda/detail/get_value.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/guarded_cuda_runtime_api.h b/thrust/thrust/system/cuda/detail/guarded_cuda_runtime_api.h index 0a61ac2ff2c..e2c9a102c1f 100644 --- a/thrust/thrust/system/cuda/detail/guarded_cuda_runtime_api.h +++ b/thrust/thrust/system/cuda/detail/guarded_cuda_runtime_api.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to check for the existence of macros // such as __host__ and __device__, which may already be defined by thrust diff --git a/thrust/thrust/system/cuda/detail/guarded_driver_types.h b/thrust/thrust/system/cuda/detail/guarded_driver_types.h index 7620b08704c..3907edf6521 100644 --- a/thrust/thrust/system/cuda/detail/guarded_driver_types.h +++ b/thrust/thrust/system/cuda/detail/guarded_driver_types.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include without causing // warnings from redefinitions of __host__ and __device__. diff --git a/thrust/thrust/system/cuda/detail/inner_product.h b/thrust/thrust/system/cuda/detail/inner_product.h index f65db8df1aa..1e434a76d58 100644 --- a/thrust/thrust/system/cuda/detail/inner_product.h +++ b/thrust/thrust/system/cuda/detail/inner_product.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/internal/copy_cross_system.h b/thrust/thrust/system/cuda/detail/internal/copy_cross_system.h index 468253482e5..b83414eb866 100644 --- a/thrust/thrust/system/cuda/detail/internal/copy_cross_system.h +++ b/thrust/thrust/system/cuda/detail/internal/copy_cross_system.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // XXX // this file must not be included on its own, ever, diff --git a/thrust/thrust/system/cuda/detail/internal/copy_device_to_device.h b/thrust/thrust/system/cuda/detail/internal/copy_device_to_device.h index fccec83922c..1974d9c3b13 100644 --- a/thrust/thrust/system/cuda/detail/internal/copy_device_to_device.h +++ b/thrust/thrust/system/cuda/detail/internal/copy_device_to_device.h @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/iter_swap.h b/thrust/thrust/system/cuda/detail/iter_swap.h index df2a1b450e1..b1feeb6369e 100644 --- a/thrust/thrust/system/cuda/detail/iter_swap.h +++ b/thrust/thrust/system/cuda/detail/iter_swap.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC diff --git a/thrust/thrust/system/cuda/detail/logical.h b/thrust/thrust/system/cuda/detail/logical.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cuda/detail/logical.h +++ b/thrust/thrust/system/cuda/detail/logical.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cuda/detail/make_unsigned_special.h b/thrust/thrust/system/cuda/detail/make_unsigned_special.h index b5e0d5bec73..65c3ad6cfa4 100644 --- a/thrust/thrust/system/cuda/detail/make_unsigned_special.h +++ b/thrust/thrust/system/cuda/detail/make_unsigned_special.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN namespace cuda_cub { diff --git a/thrust/thrust/system/cuda/detail/malloc_and_free.h b/thrust/thrust/system/cuda/detail/malloc_and_free.h index 57b5d7e1583..965f278b482 100644 --- a/thrust/thrust/system/cuda/detail/malloc_and_free.h +++ b/thrust/thrust/system/cuda/detail/malloc_and_free.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/system/cuda/detail/memory.inl b/thrust/thrust/system/cuda/detail/memory.inl index 4ba3180faa0..3e179afac6d 100644 --- a/thrust/thrust/system/cuda/detail/memory.inl +++ b/thrust/thrust/system/cuda/detail/memory.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/cuda/detail/merge.h b/thrust/thrust/system/cuda/detail/merge.h index 2ae9469ad6d..e5f3077328f 100644 --- a/thrust/thrust/system/cuda/detail/merge.h +++ b/thrust/thrust/system/cuda/detail/merge.h @@ -28,11 +28,13 @@ j * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC diff --git a/thrust/thrust/system/cuda/detail/mismatch.h b/thrust/thrust/system/cuda/detail/mismatch.h index 7110c232cbc..cc6ba2aee9d 100644 --- a/thrust/thrust/system/cuda/detail/mismatch.h +++ b/thrust/thrust/system/cuda/detail/mismatch.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/par.h b/thrust/thrust/system/cuda/detail/par.h index 56aa3c2414f..e216e54310d 100644 --- a/thrust/thrust/system/cuda/detail/par.h +++ b/thrust/thrust/system/cuda/detail/par.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/cuda/detail/par_to_seq.h b/thrust/thrust/system/cuda/detail/par_to_seq.h index a03fa182342..dfa0eb8ba5e 100644 --- a/thrust/thrust/system/cuda/detail/par_to_seq.h +++ b/thrust/thrust/system/cuda/detail/par_to_seq.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/cuda/detail/parallel_for.h b/thrust/thrust/system/cuda/detail/parallel_for.h index 8ee1be41bf9..78f12bc9f4b 100644 --- a/thrust/thrust/system/cuda/detail/parallel_for.h +++ b/thrust/thrust/system/cuda/detail/parallel_for.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC diff --git a/thrust/thrust/system/cuda/detail/partition.h b/thrust/thrust/system/cuda/detail/partition.h index 7ee25157326..6221f6884bc 100644 --- a/thrust/thrust/system/cuda/detail/partition.h +++ b/thrust/thrust/system/cuda/detail/partition.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC diff --git a/thrust/thrust/system/cuda/detail/per_device_resource.h b/thrust/thrust/system/cuda/detail/per_device_resource.h index 354fe5d6bce..45a110d6bd3 100644 --- a/thrust/thrust/system/cuda/detail/per_device_resource.h +++ b/thrust/thrust/system/cuda/detail/per_device_resource.h @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/system/cuda/detail/reduce.h b/thrust/thrust/system/cuda/detail/reduce.h index 3258064ddef..0136f8858be 100644 --- a/thrust/thrust/system/cuda/detail/reduce.h +++ b/thrust/thrust/system/cuda/detail/reduce.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC diff --git a/thrust/thrust/system/cuda/detail/reduce_by_key.h b/thrust/thrust/system/cuda/detail/reduce_by_key.h index bcb5ad60fc8..c412c38ecdd 100644 --- a/thrust/thrust/system/cuda/detail/reduce_by_key.h +++ b/thrust/thrust/system/cuda/detail/reduce_by_key.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC diff --git a/thrust/thrust/system/cuda/detail/remove.h b/thrust/thrust/system/cuda/detail/remove.h index 7d8d85b328d..2cf7491bab2 100644 --- a/thrust/thrust/system/cuda/detail/remove.h +++ b/thrust/thrust/system/cuda/detail/remove.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/replace.h b/thrust/thrust/system/cuda/detail/replace.h index 31e25e66a33..e5d361b885a 100644 --- a/thrust/thrust/system/cuda/detail/replace.h +++ b/thrust/thrust/system/cuda/detail/replace.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/reverse.h b/thrust/thrust/system/cuda/detail/reverse.h index 9f4f831c283..e3ad4fd0816 100644 --- a/thrust/thrust/system/cuda/detail/reverse.h +++ b/thrust/thrust/system/cuda/detail/reverse.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/scan.h b/thrust/thrust/system/cuda/detail/scan.h index e2f97a07203..2281d8bd2ea 100644 --- a/thrust/thrust/system/cuda/detail/scan.h +++ b/thrust/thrust/system/cuda/detail/scan.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC diff --git a/thrust/thrust/system/cuda/detail/scan_by_key.h b/thrust/thrust/system/cuda/detail/scan_by_key.h index c358bf2e232..a346b4805d0 100644 --- a/thrust/thrust/system/cuda/detail/scan_by_key.h +++ b/thrust/thrust/system/cuda/detail/scan_by_key.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC diff --git a/thrust/thrust/system/cuda/detail/scatter.h b/thrust/thrust/system/cuda/detail/scatter.h index 84f5afe0bff..5e32165b5a8 100644 --- a/thrust/thrust/system/cuda/detail/scatter.h +++ b/thrust/thrust/system/cuda/detail/scatter.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/sequence.h b/thrust/thrust/system/cuda/detail/sequence.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/cuda/detail/sequence.h +++ b/thrust/thrust/system/cuda/detail/sequence.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/cuda/detail/set_operations.h b/thrust/thrust/system/cuda/detail/set_operations.h index e6b868c6d51..b30b3ed4396 100644 --- a/thrust/thrust/system/cuda/detail/set_operations.h +++ b/thrust/thrust/system/cuda/detail/set_operations.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC diff --git a/thrust/thrust/system/cuda/detail/sort.h b/thrust/thrust/system/cuda/detail/sort.h index ddb0cf66344..4a4d1269ff1 100644 --- a/thrust/thrust/system/cuda/detail/sort.h +++ b/thrust/thrust/system/cuda/detail/sort.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/swap_ranges.h b/thrust/thrust/system/cuda/detail/swap_ranges.h index bbf51789c60..d86df860e0d 100644 --- a/thrust/thrust/system/cuda/detail/swap_ranges.h +++ b/thrust/thrust/system/cuda/detail/swap_ranges.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/tabulate.h b/thrust/thrust/system/cuda/detail/tabulate.h index 562f7037706..c58d18c5500 100644 --- a/thrust/thrust/system/cuda/detail/tabulate.h +++ b/thrust/thrust/system/cuda/detail/tabulate.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/temporary_buffer.h b/thrust/thrust/system/cuda/detail/temporary_buffer.h index 1daf6c04a34..3f17ac28a02 100644 --- a/thrust/thrust/system/cuda/detail/temporary_buffer.h +++ b/thrust/thrust/system/cuda/detail/temporary_buffer.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special temporary buffer functions diff --git a/thrust/thrust/system/cuda/detail/terminate.h b/thrust/thrust/system/cuda/detail/terminate.h index 2a7ebc43153..a91438ce9d9 100644 --- a/thrust/thrust/system/cuda/detail/terminate.h +++ b/thrust/thrust/system/cuda/detail/terminate.h @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/cuda/detail/transform.h b/thrust/thrust/system/cuda/detail/transform.h index 473a0ba0989..7264f5881c0 100644 --- a/thrust/thrust/system/cuda/detail/transform.h +++ b/thrust/thrust/system/cuda/detail/transform.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/transform_reduce.h b/thrust/thrust/system/cuda/detail/transform_reduce.h index c0c96b2c594..83649a22759 100644 --- a/thrust/thrust/system/cuda/detail/transform_reduce.h +++ b/thrust/thrust/system/cuda/detail/transform_reduce.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/transform_scan.h b/thrust/thrust/system/cuda/detail/transform_scan.h index fd76a84e795..a36a09a3ddc 100644 --- a/thrust/thrust/system/cuda/detail/transform_scan.h +++ b/thrust/thrust/system/cuda/detail/transform_scan.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/uninitialized_copy.h b/thrust/thrust/system/cuda/detail/uninitialized_copy.h index 3fa8940b627..e42614897fc 100644 --- a/thrust/thrust/system/cuda/detail/uninitialized_copy.h +++ b/thrust/thrust/system/cuda/detail/uninitialized_copy.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/uninitialized_fill.h b/thrust/thrust/system/cuda/detail/uninitialized_fill.h index 368349db104..06084aa3103 100644 --- a/thrust/thrust/system/cuda/detail/uninitialized_fill.h +++ b/thrust/thrust/system/cuda/detail/uninitialized_fill.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC #include diff --git a/thrust/thrust/system/cuda/detail/unique.h b/thrust/thrust/system/cuda/detail/unique.h index aba3a4dc2a9..069dc5a1377 100644 --- a/thrust/thrust/system/cuda/detail/unique.h +++ b/thrust/thrust/system/cuda/detail/unique.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC diff --git a/thrust/thrust/system/cuda/detail/unique_by_key.h b/thrust/thrust/system/cuda/detail/unique_by_key.h index f0f7ed93c26..5c6d817789f 100644 --- a/thrust/thrust/system/cuda/detail/unique_by_key.h +++ b/thrust/thrust/system/cuda/detail/unique_by_key.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC diff --git a/thrust/thrust/system/cuda/detail/util.h b/thrust/thrust/system/cuda/detail/util.h index c610629af26..c6d933b15df 100644 --- a/thrust/thrust/system/cuda/detail/util.h +++ b/thrust/thrust/system/cuda/detail/util.h @@ -28,11 +28,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/cuda/error.h b/thrust/thrust/system/cuda/error.h index 5b1d764b27f..13347c9e3c7 100644 --- a/thrust/thrust/system/cuda/error.h +++ b/thrust/thrust/system/cuda/error.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/cuda/execution_policy.h b/thrust/thrust/system/cuda/execution_policy.h index f1cea2c80b9..82170d0a198 100644 --- a/thrust/thrust/system/cuda/execution_policy.h +++ b/thrust/thrust/system/cuda/execution_policy.h @@ -28,10 +28,12 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/cuda/future.h b/thrust/thrust/system/cuda/future.h index c37f4851c22..5543b1044ae 100644 --- a/thrust/thrust/system/cuda/future.h +++ b/thrust/thrust/system/cuda/future.h @@ -7,11 +7,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2014 diff --git a/thrust/thrust/system/cuda/memory.h b/thrust/thrust/system/cuda/memory.h index da0708b012f..f035b26ba99 100644 --- a/thrust/thrust/system/cuda/memory.h +++ b/thrust/thrust/system/cuda/memory.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/cuda/memory_resource.h b/thrust/thrust/system/cuda/memory_resource.h index 68af96b5084..df94b602c31 100644 --- a/thrust/thrust/system/cuda/memory_resource.h +++ b/thrust/thrust/system/cuda/memory_resource.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/cuda/pointer.h b/thrust/thrust/system/cuda/pointer.h index 793751cb040..ccb9d6cb80f 100644 --- a/thrust/thrust/system/cuda/pointer.h +++ b/thrust/thrust/system/cuda/pointer.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/cuda/vector.h b/thrust/thrust/system/cuda/vector.h index ed6114aadab..67cd6b8f30b 100644 --- a/thrust/thrust/system/cuda/vector.h +++ b/thrust/thrust/system/cuda/vector.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/adl/adjacent_difference.h b/thrust/thrust/system/detail/adl/adjacent_difference.h index 980dc4fce48..5e6e69fb8fb 100644 --- a/thrust/thrust/system/detail/adl/adjacent_difference.h +++ b/thrust/thrust/system/detail/adl/adjacent_difference.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the adjacent_difference.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/assign_value.h b/thrust/thrust/system/detail/adl/assign_value.h index c2a9cda7f78..d0566467570 100644 --- a/thrust/thrust/system/detail/adl/assign_value.h +++ b/thrust/thrust/system/detail/adl/assign_value.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the assign_value.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/async/copy.h b/thrust/thrust/system/detail/adl/async/copy.h index b9d6a335f91..adc959023e9 100644 --- a/thrust/thrust/system/detail/adl/async/copy.h +++ b/thrust/thrust/system/detail/adl/async/copy.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header //#include diff --git a/thrust/thrust/system/detail/adl/async/for_each.h b/thrust/thrust/system/detail/adl/async/for_each.h index e0e71ea8a36..0c40cff3b87 100644 --- a/thrust/thrust/system/detail/adl/async/for_each.h +++ b/thrust/thrust/system/detail/adl/async/for_each.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header //#include diff --git a/thrust/thrust/system/detail/adl/async/reduce.h b/thrust/thrust/system/detail/adl/async/reduce.h index 0e157cb7970..01c0ef184f4 100644 --- a/thrust/thrust/system/detail/adl/async/reduce.h +++ b/thrust/thrust/system/detail/adl/async/reduce.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header //#include diff --git a/thrust/thrust/system/detail/adl/async/scan.h b/thrust/thrust/system/detail/adl/async/scan.h index ac60330e1c7..6ccf564e72a 100644 --- a/thrust/thrust/system/detail/adl/async/scan.h +++ b/thrust/thrust/system/detail/adl/async/scan.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header //#include diff --git a/thrust/thrust/system/detail/adl/async/sort.h b/thrust/thrust/system/detail/adl/async/sort.h index 8f07711e6b7..fc31e308433 100644 --- a/thrust/thrust/system/detail/adl/async/sort.h +++ b/thrust/thrust/system/detail/adl/async/sort.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header //#include diff --git a/thrust/thrust/system/detail/adl/async/transform.h b/thrust/thrust/system/detail/adl/async/transform.h index 7dc39b0eba0..da29b1dce26 100644 --- a/thrust/thrust/system/detail/adl/async/transform.h +++ b/thrust/thrust/system/detail/adl/async/transform.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header //#include diff --git a/thrust/thrust/system/detail/adl/binary_search.h b/thrust/thrust/system/detail/adl/binary_search.h index a8149753f5c..8c9b92cb816 100644 --- a/thrust/thrust/system/detail/adl/binary_search.h +++ b/thrust/thrust/system/detail/adl/binary_search.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the binary_search.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/copy.h b/thrust/thrust/system/detail/adl/copy.h index e103a6ed333..b9478bd8f0d 100644 --- a/thrust/thrust/system/detail/adl/copy.h +++ b/thrust/thrust/system/detail/adl/copy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the copy.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/copy_if.h b/thrust/thrust/system/detail/adl/copy_if.h index efec0cb9445..62cc56970ac 100644 --- a/thrust/thrust/system/detail/adl/copy_if.h +++ b/thrust/thrust/system/detail/adl/copy_if.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the copy_if.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/count.h b/thrust/thrust/system/detail/adl/count.h index 60dbab4f29c..f6c9e6aeb18 100644 --- a/thrust/thrust/system/detail/adl/count.h +++ b/thrust/thrust/system/detail/adl/count.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the count.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/equal.h b/thrust/thrust/system/detail/adl/equal.h index 3f5bb54b1c0..cd80e2a67e3 100644 --- a/thrust/thrust/system/detail/adl/equal.h +++ b/thrust/thrust/system/detail/adl/equal.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the equal.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/extrema.h b/thrust/thrust/system/detail/adl/extrema.h index ad4ae3b5a61..ba3bbbc886b 100644 --- a/thrust/thrust/system/detail/adl/extrema.h +++ b/thrust/thrust/system/detail/adl/extrema.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the extrema.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/fill.h b/thrust/thrust/system/detail/adl/fill.h index adfce5a49d5..7ca0b61c1bc 100644 --- a/thrust/thrust/system/detail/adl/fill.h +++ b/thrust/thrust/system/detail/adl/fill.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the fill.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/find.h b/thrust/thrust/system/detail/adl/find.h index 1b8543aaaa8..368abc8f795 100644 --- a/thrust/thrust/system/detail/adl/find.h +++ b/thrust/thrust/system/detail/adl/find.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the find.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/for_each.h b/thrust/thrust/system/detail/adl/for_each.h index 3a9e3adf735..f0570b6937f 100644 --- a/thrust/thrust/system/detail/adl/for_each.h +++ b/thrust/thrust/system/detail/adl/for_each.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the for_each.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/gather.h b/thrust/thrust/system/detail/adl/gather.h index 82ac687ca64..eaf218da908 100644 --- a/thrust/thrust/system/detail/adl/gather.h +++ b/thrust/thrust/system/detail/adl/gather.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the gather.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/generate.h b/thrust/thrust/system/detail/adl/generate.h index 47dbad27455..1fe618209b6 100644 --- a/thrust/thrust/system/detail/adl/generate.h +++ b/thrust/thrust/system/detail/adl/generate.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the generate.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/get_value.h b/thrust/thrust/system/detail/adl/get_value.h index 4817055baa9..c76474e43a5 100644 --- a/thrust/thrust/system/detail/adl/get_value.h +++ b/thrust/thrust/system/detail/adl/get_value.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the get_value.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/inner_product.h b/thrust/thrust/system/detail/adl/inner_product.h index ff4756bc5af..a1f64549972 100644 --- a/thrust/thrust/system/detail/adl/inner_product.h +++ b/thrust/thrust/system/detail/adl/inner_product.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the inner_product.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/iter_swap.h b/thrust/thrust/system/detail/adl/iter_swap.h index 8bf4f87f123..8e66ba5fc93 100644 --- a/thrust/thrust/system/detail/adl/iter_swap.h +++ b/thrust/thrust/system/detail/adl/iter_swap.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the iter_swap.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/logical.h b/thrust/thrust/system/detail/adl/logical.h index 9bbdaac40fb..c30d458256b 100644 --- a/thrust/thrust/system/detail/adl/logical.h +++ b/thrust/thrust/system/detail/adl/logical.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the logical.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/malloc_and_free.h b/thrust/thrust/system/detail/adl/malloc_and_free.h index 9234da85e18..da28361c1a1 100644 --- a/thrust/thrust/system/detail/adl/malloc_and_free.h +++ b/thrust/thrust/system/detail/adl/malloc_and_free.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the malloc_and_free.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/merge.h b/thrust/thrust/system/detail/adl/merge.h index 7974823c9fe..bd1be5dea29 100644 --- a/thrust/thrust/system/detail/adl/merge.h +++ b/thrust/thrust/system/detail/adl/merge.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the merge.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/mismatch.h b/thrust/thrust/system/detail/adl/mismatch.h index 1313425eaf0..03dc3fe2d1d 100644 --- a/thrust/thrust/system/detail/adl/mismatch.h +++ b/thrust/thrust/system/detail/adl/mismatch.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the mismatch.h header // of the host and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/partition.h b/thrust/thrust/system/detail/adl/partition.h index 60d2d8de2f3..9d6fbb3f9bc 100644 --- a/thrust/thrust/system/detail/adl/partition.h +++ b/thrust/thrust/system/detail/adl/partition.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the partition.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/per_device_resource.h b/thrust/thrust/system/detail/adl/per_device_resource.h index afc5df0031b..9a9833d1677 100644 --- a/thrust/thrust/system/detail/adl/per_device_resource.h +++ b/thrust/thrust/system/detail/adl/per_device_resource.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the per_device_resource.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/reduce.h b/thrust/thrust/system/detail/adl/reduce.h index ce86610ebbc..5a1919f0c5c 100644 --- a/thrust/thrust/system/detail/adl/reduce.h +++ b/thrust/thrust/system/detail/adl/reduce.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the reduce.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/reduce_by_key.h b/thrust/thrust/system/detail/adl/reduce_by_key.h index 49afe209f44..b658a34f372 100644 --- a/thrust/thrust/system/detail/adl/reduce_by_key.h +++ b/thrust/thrust/system/detail/adl/reduce_by_key.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the reduce_by_key.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/remove.h b/thrust/thrust/system/detail/adl/remove.h index ba14b96bd4f..3e18081afa2 100644 --- a/thrust/thrust/system/detail/adl/remove.h +++ b/thrust/thrust/system/detail/adl/remove.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the remove.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/replace.h b/thrust/thrust/system/detail/adl/replace.h index c2efd40e80a..ba1e17a3b67 100644 --- a/thrust/thrust/system/detail/adl/replace.h +++ b/thrust/thrust/system/detail/adl/replace.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the replace.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/reverse.h b/thrust/thrust/system/detail/adl/reverse.h index f0a4972c648..ee64920102a 100644 --- a/thrust/thrust/system/detail/adl/reverse.h +++ b/thrust/thrust/system/detail/adl/reverse.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the reverse.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/scan.h b/thrust/thrust/system/detail/adl/scan.h index 904e9c4f9ce..0a3c718e46b 100644 --- a/thrust/thrust/system/detail/adl/scan.h +++ b/thrust/thrust/system/detail/adl/scan.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the scan.h header // of the host and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/scan_by_key.h b/thrust/thrust/system/detail/adl/scan_by_key.h index bb4f9d4af76..6f72ad86a32 100644 --- a/thrust/thrust/system/detail/adl/scan_by_key.h +++ b/thrust/thrust/system/detail/adl/scan_by_key.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the scan_by_key.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/scatter.h b/thrust/thrust/system/detail/adl/scatter.h index d562fbec037..1afd723e106 100644 --- a/thrust/thrust/system/detail/adl/scatter.h +++ b/thrust/thrust/system/detail/adl/scatter.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the scatter.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/sequence.h b/thrust/thrust/system/detail/adl/sequence.h index 4e364a84db2..a539be1e946 100644 --- a/thrust/thrust/system/detail/adl/sequence.h +++ b/thrust/thrust/system/detail/adl/sequence.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the sequence.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/set_operations.h b/thrust/thrust/system/detail/adl/set_operations.h index dae16bd3714..44aedb53b33 100644 --- a/thrust/thrust/system/detail/adl/set_operations.h +++ b/thrust/thrust/system/detail/adl/set_operations.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the set_operations.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/sort.h b/thrust/thrust/system/detail/adl/sort.h index d0687f311b6..0ed1094d896 100644 --- a/thrust/thrust/system/detail/adl/sort.h +++ b/thrust/thrust/system/detail/adl/sort.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the sort.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/swap_ranges.h b/thrust/thrust/system/detail/adl/swap_ranges.h index af2393b8125..aa0ca4d2d0b 100644 --- a/thrust/thrust/system/detail/adl/swap_ranges.h +++ b/thrust/thrust/system/detail/adl/swap_ranges.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the swap_ranges.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/tabulate.h b/thrust/thrust/system/detail/adl/tabulate.h index ba9a013ac7a..533af962974 100644 --- a/thrust/thrust/system/detail/adl/tabulate.h +++ b/thrust/thrust/system/detail/adl/tabulate.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the tabulate.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/temporary_buffer.h b/thrust/thrust/system/detail/adl/temporary_buffer.h index e916fe63d8f..3bd4dace229 100644 --- a/thrust/thrust/system/detail/adl/temporary_buffer.h +++ b/thrust/thrust/system/detail/adl/temporary_buffer.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the temporary_buffer.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/transform.h b/thrust/thrust/system/detail/adl/transform.h index a3e0757cc7c..5684f8e2e4d 100644 --- a/thrust/thrust/system/detail/adl/transform.h +++ b/thrust/thrust/system/detail/adl/transform.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the transform.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/transform_reduce.h b/thrust/thrust/system/detail/adl/transform_reduce.h index 45483fea753..4b0ba45fdca 100644 --- a/thrust/thrust/system/detail/adl/transform_reduce.h +++ b/thrust/thrust/system/detail/adl/transform_reduce.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the transform_reduce.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/transform_scan.h b/thrust/thrust/system/detail/adl/transform_scan.h index 972d46c723a..87e366ce635 100644 --- a/thrust/thrust/system/detail/adl/transform_scan.h +++ b/thrust/thrust/system/detail/adl/transform_scan.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the transform_scan.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/uninitialized_copy.h b/thrust/thrust/system/detail/adl/uninitialized_copy.h index f31e4b2c66d..2185a3afa34 100644 --- a/thrust/thrust/system/detail/adl/uninitialized_copy.h +++ b/thrust/thrust/system/detail/adl/uninitialized_copy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the uninitialized_copy.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/uninitialized_fill.h b/thrust/thrust/system/detail/adl/uninitialized_fill.h index bd98e450f46..8827a67755d 100644 --- a/thrust/thrust/system/detail/adl/uninitialized_fill.h +++ b/thrust/thrust/system/detail/adl/uninitialized_fill.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the uninitialized_fill.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/unique.h b/thrust/thrust/system/detail/adl/unique.h index d866ad04a49..07c236c20b3 100644 --- a/thrust/thrust/system/detail/adl/unique.h +++ b/thrust/thrust/system/detail/adl/unique.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the unique.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/adl/unique_by_key.h b/thrust/thrust/system/detail/adl/unique_by_key.h index d6e6020550a..e184f2eb8f2 100644 --- a/thrust/thrust/system/detail/adl/unique_by_key.h +++ b/thrust/thrust/system/detail/adl/unique_by_key.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // the purpose of this header is to #include the unique_by_key.h header // of the sequential, host, and device systems. It should be #included in any diff --git a/thrust/thrust/system/detail/bad_alloc.h b/thrust/thrust/system/detail/bad_alloc.h index 32b1bf0a75f..ef3763014d1 100644 --- a/thrust/thrust/system/detail/bad_alloc.h +++ b/thrust/thrust/system/detail/bad_alloc.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/errno.h b/thrust/thrust/system/detail/errno.h index 8e29bf7cb6b..365d0b9b5f9 100644 --- a/thrust/thrust/system/detail/errno.h +++ b/thrust/thrust/system/detail/errno.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // The rationale for the existence of these apparently redundant definitions is // to provide them portably and to avoid bringing in system headers which might diff --git a/thrust/thrust/system/detail/error_category.inl b/thrust/thrust/system/detail/error_category.inl index 68332dd3644..fe01ff608a6 100644 --- a/thrust/thrust/system/detail/error_category.inl +++ b/thrust/thrust/system/detail/error_category.inl @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/error_code.inl b/thrust/thrust/system/detail/error_code.inl index 16611bf1b5b..2d3f710809e 100644 --- a/thrust/thrust/system/detail/error_code.inl +++ b/thrust/thrust/system/detail/error_code.inl @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/system/detail/error_condition.inl b/thrust/thrust/system/detail/error_condition.inl index 903a4fc20b6..f2a7defccd5 100644 --- a/thrust/thrust/system/detail/error_condition.inl +++ b/thrust/thrust/system/detail/error_condition.inl @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/generic/adjacent_difference.h b/thrust/thrust/system/detail/generic/adjacent_difference.h index 0e0b13d841c..ba6fbe2409e 100644 --- a/thrust/thrust/system/detail/generic/adjacent_difference.h +++ b/thrust/thrust/system/detail/generic/adjacent_difference.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/adjacent_difference.inl b/thrust/thrust/system/detail/generic/adjacent_difference.inl index 1a6128cfa41..b0795caae09 100644 --- a/thrust/thrust/system/detail/generic/adjacent_difference.inl +++ b/thrust/thrust/system/detail/generic/adjacent_difference.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/advance.h b/thrust/thrust/system/detail/generic/advance.h index cc298954174..44d51b69627 100644 --- a/thrust/thrust/system/detail/generic/advance.h +++ b/thrust/thrust/system/detail/generic/advance.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN namespace system diff --git a/thrust/thrust/system/detail/generic/advance.inl b/thrust/thrust/system/detail/generic/advance.inl index c2600cc56cc..9f3f6e2a334 100644 --- a/thrust/thrust/system/detail/generic/advance.inl +++ b/thrust/thrust/system/detail/generic/advance.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/generic/binary_search.h b/thrust/thrust/system/detail/generic/binary_search.h index 77a4ce73ea6..ff94bf7e943 100644 --- a/thrust/thrust/system/detail/generic/binary_search.h +++ b/thrust/thrust/system/detail/generic/binary_search.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/binary_search.inl b/thrust/thrust/system/detail/generic/binary_search.inl index 391263eea08..50a1524c2ea 100644 --- a/thrust/thrust/system/detail/generic/binary_search.inl +++ b/thrust/thrust/system/detail/generic/binary_search.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/copy.h b/thrust/thrust/system/detail/generic/copy.h index 201a33489a3..b8e74323bca 100644 --- a/thrust/thrust/system/detail/generic/copy.h +++ b/thrust/thrust/system/detail/generic/copy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/copy.inl b/thrust/thrust/system/detail/generic/copy.inl index 57d040385e5..e318e383d38 100644 --- a/thrust/thrust/system/detail/generic/copy.inl +++ b/thrust/thrust/system/detail/generic/copy.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/copy_if.h b/thrust/thrust/system/detail/generic/copy_if.h index 44105eb0140..5ce2fe81b8d 100644 --- a/thrust/thrust/system/detail/generic/copy_if.h +++ b/thrust/thrust/system/detail/generic/copy_if.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/copy_if.inl b/thrust/thrust/system/detail/generic/copy_if.inl index 5dbff9fff55..1bce2e6ddf5 100644 --- a/thrust/thrust/system/detail/generic/copy_if.inl +++ b/thrust/thrust/system/detail/generic/copy_if.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/count.h b/thrust/thrust/system/detail/generic/count.h index 80523a7dc1f..aebe35521c9 100644 --- a/thrust/thrust/system/detail/generic/count.h +++ b/thrust/thrust/system/detail/generic/count.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/count.inl b/thrust/thrust/system/detail/generic/count.inl index d1187a8d667..e7aab05262c 100644 --- a/thrust/thrust/system/detail/generic/count.inl +++ b/thrust/thrust/system/detail/generic/count.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/distance.h b/thrust/thrust/system/detail/generic/distance.h index 2d48211af10..29f9bd6779a 100644 --- a/thrust/thrust/system/detail/generic/distance.h +++ b/thrust/thrust/system/detail/generic/distance.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/distance.inl b/thrust/thrust/system/detail/generic/distance.inl index 7356946a033..a1cdf77dbaa 100644 --- a/thrust/thrust/system/detail/generic/distance.inl +++ b/thrust/thrust/system/detail/generic/distance.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/generic/equal.h b/thrust/thrust/system/detail/generic/equal.h index cbbd6ffb2e3..a467cc4c248 100644 --- a/thrust/thrust/system/detail/generic/equal.h +++ b/thrust/thrust/system/detail/generic/equal.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/equal.inl b/thrust/thrust/system/detail/generic/equal.inl index a9e318c5751..7651f18889c 100644 --- a/thrust/thrust/system/detail/generic/equal.inl +++ b/thrust/thrust/system/detail/generic/equal.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/extrema.h b/thrust/thrust/system/detail/generic/extrema.h index 88d1a859b0c..1a143333832 100644 --- a/thrust/thrust/system/detail/generic/extrema.h +++ b/thrust/thrust/system/detail/generic/extrema.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/generic/extrema.inl b/thrust/thrust/system/detail/generic/extrema.inl index a98ce903ce2..1019b5c12dd 100644 --- a/thrust/thrust/system/detail/generic/extrema.inl +++ b/thrust/thrust/system/detail/generic/extrema.inl @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/fill.h b/thrust/thrust/system/detail/generic/fill.h index 95179d287e1..a7ce12050ec 100644 --- a/thrust/thrust/system/detail/generic/fill.h +++ b/thrust/thrust/system/detail/generic/fill.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/generic/find.h b/thrust/thrust/system/detail/generic/find.h index 5825fe11530..4c8a5ad989d 100644 --- a/thrust/thrust/system/detail/generic/find.h +++ b/thrust/thrust/system/detail/generic/find.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/find.inl b/thrust/thrust/system/detail/generic/find.inl index c0077e9c70a..841a4541238 100644 --- a/thrust/thrust/system/detail/generic/find.inl +++ b/thrust/thrust/system/detail/generic/find.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/generic/for_each.h b/thrust/thrust/system/detail/generic/for_each.h index d650ee20b00..b802a850acf 100644 --- a/thrust/thrust/system/detail/generic/for_each.h +++ b/thrust/thrust/system/detail/generic/for_each.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/gather.h b/thrust/thrust/system/detail/generic/gather.h index c8d94c9514f..057bfc2a778 100644 --- a/thrust/thrust/system/detail/generic/gather.h +++ b/thrust/thrust/system/detail/generic/gather.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/gather.inl b/thrust/thrust/system/detail/generic/gather.inl index d8d897302fe..75a0a2943b1 100644 --- a/thrust/thrust/system/detail/generic/gather.inl +++ b/thrust/thrust/system/detail/generic/gather.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/generate.h b/thrust/thrust/system/detail/generic/generate.h index 8806f4c4bc8..80441ea20d0 100644 --- a/thrust/thrust/system/detail/generic/generate.h +++ b/thrust/thrust/system/detail/generic/generate.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/generate.inl b/thrust/thrust/system/detail/generic/generate.inl index 7c6a949e913..055fd8187fa 100644 --- a/thrust/thrust/system/detail/generic/generate.inl +++ b/thrust/thrust/system/detail/generic/generate.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/inner_product.h b/thrust/thrust/system/detail/generic/inner_product.h index 92c4915a548..0aec806a068 100644 --- a/thrust/thrust/system/detail/generic/inner_product.h +++ b/thrust/thrust/system/detail/generic/inner_product.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/inner_product.inl b/thrust/thrust/system/detail/generic/inner_product.inl index 92246ae46e9..d4d7d4904a6 100644 --- a/thrust/thrust/system/detail/generic/inner_product.inl +++ b/thrust/thrust/system/detail/generic/inner_product.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/logical.h b/thrust/thrust/system/detail/generic/logical.h index ab74f97126b..f21e97b8a81 100644 --- a/thrust/thrust/system/detail/generic/logical.h +++ b/thrust/thrust/system/detail/generic/logical.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/memory.h b/thrust/thrust/system/detail/generic/memory.h index 69a0598e764..f735b73d345 100644 --- a/thrust/thrust/system/detail/generic/memory.h +++ b/thrust/thrust/system/detail/generic/memory.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/memory.inl b/thrust/thrust/system/detail/generic/memory.inl index 8b4b4a120e8..fc31b88ec27 100644 --- a/thrust/thrust/system/detail/generic/memory.inl +++ b/thrust/thrust/system/detail/generic/memory.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/merge.h b/thrust/thrust/system/detail/generic/merge.h index 83a64187ebc..550fca4e0c5 100644 --- a/thrust/thrust/system/detail/generic/merge.h +++ b/thrust/thrust/system/detail/generic/merge.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/merge.inl b/thrust/thrust/system/detail/generic/merge.inl index 18dd9f0323e..3e085ce3d64 100644 --- a/thrust/thrust/system/detail/generic/merge.inl +++ b/thrust/thrust/system/detail/generic/merge.inl @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/mismatch.h b/thrust/thrust/system/detail/generic/mismatch.h index aff424d0d04..1212a205317 100644 --- a/thrust/thrust/system/detail/generic/mismatch.h +++ b/thrust/thrust/system/detail/generic/mismatch.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/mismatch.inl b/thrust/thrust/system/detail/generic/mismatch.inl index 717d576e2cd..ffd1c82b45d 100644 --- a/thrust/thrust/system/detail/generic/mismatch.inl +++ b/thrust/thrust/system/detail/generic/mismatch.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/partition.h b/thrust/thrust/system/detail/generic/partition.h index 6b216dac154..6defa023877 100644 --- a/thrust/thrust/system/detail/generic/partition.h +++ b/thrust/thrust/system/detail/generic/partition.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/partition.inl b/thrust/thrust/system/detail/generic/partition.inl index 0a835fcedbd..1251a09db0d 100644 --- a/thrust/thrust/system/detail/generic/partition.inl +++ b/thrust/thrust/system/detail/generic/partition.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/per_device_resource.h b/thrust/thrust/system/detail/generic/per_device_resource.h index 1565fee9c1f..795270157f7 100644 --- a/thrust/thrust/system/detail/generic/per_device_resource.h +++ b/thrust/thrust/system/detail/generic/per_device_resource.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/reduce.h b/thrust/thrust/system/detail/generic/reduce.h index 54c415aa265..0c35ff73800 100644 --- a/thrust/thrust/system/detail/generic/reduce.h +++ b/thrust/thrust/system/detail/generic/reduce.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/generic/reduce.inl b/thrust/thrust/system/detail/generic/reduce.inl index bfc478ed55a..8644a04e0a6 100644 --- a/thrust/thrust/system/detail/generic/reduce.inl +++ b/thrust/thrust/system/detail/generic/reduce.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/generic/reduce_by_key.h b/thrust/thrust/system/detail/generic/reduce_by_key.h index 00abf0c85bf..c9bd02ca91c 100644 --- a/thrust/thrust/system/detail/generic/reduce_by_key.h +++ b/thrust/thrust/system/detail/generic/reduce_by_key.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/generic/reduce_by_key.inl b/thrust/thrust/system/detail/generic/reduce_by_key.inl index 9ade5eaaec1..97473c533c4 100644 --- a/thrust/thrust/system/detail/generic/reduce_by_key.inl +++ b/thrust/thrust/system/detail/generic/reduce_by_key.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/generic/remove.h b/thrust/thrust/system/detail/generic/remove.h index 2c9a8f9abae..40056dd1fc4 100644 --- a/thrust/thrust/system/detail/generic/remove.h +++ b/thrust/thrust/system/detail/generic/remove.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/remove.inl b/thrust/thrust/system/detail/generic/remove.inl index d71a2e2e0fb..6be687172a5 100644 --- a/thrust/thrust/system/detail/generic/remove.inl +++ b/thrust/thrust/system/detail/generic/remove.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/replace.h b/thrust/thrust/system/detail/generic/replace.h index a294f108a8b..6e8fe63f724 100644 --- a/thrust/thrust/system/detail/generic/replace.h +++ b/thrust/thrust/system/detail/generic/replace.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/replace.inl b/thrust/thrust/system/detail/generic/replace.inl index d49f85cc078..dcd8fff4648 100644 --- a/thrust/thrust/system/detail/generic/replace.inl +++ b/thrust/thrust/system/detail/generic/replace.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/reverse.h b/thrust/thrust/system/detail/generic/reverse.h index 3e8451a6cd1..89d81dd760d 100644 --- a/thrust/thrust/system/detail/generic/reverse.h +++ b/thrust/thrust/system/detail/generic/reverse.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/reverse.inl b/thrust/thrust/system/detail/generic/reverse.inl index 2ee86fcba11..ac928b97dff 100644 --- a/thrust/thrust/system/detail/generic/reverse.inl +++ b/thrust/thrust/system/detail/generic/reverse.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/scalar/binary_search.h b/thrust/thrust/system/detail/generic/scalar/binary_search.h index 51842eb5103..33290b83da1 100644 --- a/thrust/thrust/system/detail/generic/scalar/binary_search.h +++ b/thrust/thrust/system/detail/generic/scalar/binary_search.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/scalar/binary_search.inl b/thrust/thrust/system/detail/generic/scalar/binary_search.inl index 095a8a13a51..4f1f0849e91 100644 --- a/thrust/thrust/system/detail/generic/scalar/binary_search.inl +++ b/thrust/thrust/system/detail/generic/scalar/binary_search.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/scan.h b/thrust/thrust/system/detail/generic/scan.h index b96ab3462cb..9efdc0860cb 100644 --- a/thrust/thrust/system/detail/generic/scan.h +++ b/thrust/thrust/system/detail/generic/scan.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/scan.inl b/thrust/thrust/system/detail/generic/scan.inl index 788761487e2..5f7575a6341 100644 --- a/thrust/thrust/system/detail/generic/scan.inl +++ b/thrust/thrust/system/detail/generic/scan.inl @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/scan_by_key.h b/thrust/thrust/system/detail/generic/scan_by_key.h index eba28de7feb..ec94cff83ec 100644 --- a/thrust/thrust/system/detail/generic/scan_by_key.h +++ b/thrust/thrust/system/detail/generic/scan_by_key.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/scan_by_key.inl b/thrust/thrust/system/detail/generic/scan_by_key.inl index 242c6852c9f..523fc484d19 100644 --- a/thrust/thrust/system/detail/generic/scan_by_key.inl +++ b/thrust/thrust/system/detail/generic/scan_by_key.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/scatter.h b/thrust/thrust/system/detail/generic/scatter.h index 00b89287b78..179c7ef9b54 100644 --- a/thrust/thrust/system/detail/generic/scatter.h +++ b/thrust/thrust/system/detail/generic/scatter.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/scatter.inl b/thrust/thrust/system/detail/generic/scatter.inl index 0880a495d2b..fb55e4ed525 100644 --- a/thrust/thrust/system/detail/generic/scatter.inl +++ b/thrust/thrust/system/detail/generic/scatter.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/select_system.h b/thrust/thrust/system/detail/generic/select_system.h index 4d7657cf356..18847831979 100644 --- a/thrust/thrust/system/detail/generic/select_system.h +++ b/thrust/thrust/system/detail/generic/select_system.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/select_system.inl b/thrust/thrust/system/detail/generic/select_system.inl index b793fca5e4e..41d9befe382 100644 --- a/thrust/thrust/system/detail/generic/select_system.inl +++ b/thrust/thrust/system/detail/generic/select_system.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/select_system_exists.h b/thrust/thrust/system/detail/generic/select_system_exists.h index 1a6943f0730..be39210c95f 100644 --- a/thrust/thrust/system/detail/generic/select_system_exists.h +++ b/thrust/thrust/system/detail/generic/select_system_exists.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/sequence.h b/thrust/thrust/system/detail/generic/sequence.h index 2fa79d9256b..f4ea5be99a2 100644 --- a/thrust/thrust/system/detail/generic/sequence.h +++ b/thrust/thrust/system/detail/generic/sequence.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/sequence.inl b/thrust/thrust/system/detail/generic/sequence.inl index 55f8e9e333c..966b01c94a6 100644 --- a/thrust/thrust/system/detail/generic/sequence.inl +++ b/thrust/thrust/system/detail/generic/sequence.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/set_operations.h b/thrust/thrust/system/detail/generic/set_operations.h index 7285876b54e..72cd5530184 100644 --- a/thrust/thrust/system/detail/generic/set_operations.h +++ b/thrust/thrust/system/detail/generic/set_operations.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/generic/set_operations.inl b/thrust/thrust/system/detail/generic/set_operations.inl index 61f9c0156b8..537808d6462 100644 --- a/thrust/thrust/system/detail/generic/set_operations.inl +++ b/thrust/thrust/system/detail/generic/set_operations.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/shuffle.h b/thrust/thrust/system/detail/generic/shuffle.h index 34aea081fb0..8833ec5d0d7 100644 --- a/thrust/thrust/system/detail/generic/shuffle.h +++ b/thrust/thrust/system/detail/generic/shuffle.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/system/detail/generic/sort.h b/thrust/thrust/system/detail/generic/sort.h index 87da3bc4cb6..70ba6fbe155 100644 --- a/thrust/thrust/system/detail/generic/sort.h +++ b/thrust/thrust/system/detail/generic/sort.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/sort.inl b/thrust/thrust/system/detail/generic/sort.inl index e2f3c31184e..f2018f44b31 100644 --- a/thrust/thrust/system/detail/generic/sort.inl +++ b/thrust/thrust/system/detail/generic/sort.inl @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/swap_ranges.h b/thrust/thrust/system/detail/generic/swap_ranges.h index b7270530247..957139d9652 100644 --- a/thrust/thrust/system/detail/generic/swap_ranges.h +++ b/thrust/thrust/system/detail/generic/swap_ranges.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/swap_ranges.inl b/thrust/thrust/system/detail/generic/swap_ranges.inl index 0f68ebd80a7..bd3cce6ae26 100644 --- a/thrust/thrust/system/detail/generic/swap_ranges.inl +++ b/thrust/thrust/system/detail/generic/swap_ranges.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/tabulate.h b/thrust/thrust/system/detail/generic/tabulate.h index 4c6df103a8b..7669a1a9515 100644 --- a/thrust/thrust/system/detail/generic/tabulate.h +++ b/thrust/thrust/system/detail/generic/tabulate.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/tabulate.inl b/thrust/thrust/system/detail/generic/tabulate.inl index da2a6b82c9d..687e4854cbd 100644 --- a/thrust/thrust/system/detail/generic/tabulate.inl +++ b/thrust/thrust/system/detail/generic/tabulate.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/tag.h b/thrust/thrust/system/detail/generic/tag.h index 1a02f1af0bd..981749d165d 100644 --- a/thrust/thrust/system/detail/generic/tag.h +++ b/thrust/thrust/system/detail/generic/tag.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN namespace system diff --git a/thrust/thrust/system/detail/generic/temporary_buffer.h b/thrust/thrust/system/detail/generic/temporary_buffer.h index 94d8cb64be6..166fa020be2 100644 --- a/thrust/thrust/system/detail/generic/temporary_buffer.h +++ b/thrust/thrust/system/detail/generic/temporary_buffer.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/temporary_buffer.inl b/thrust/thrust/system/detail/generic/temporary_buffer.inl index 7a792e5041b..f4d12a519d0 100644 --- a/thrust/thrust/system/detail/generic/temporary_buffer.inl +++ b/thrust/thrust/system/detail/generic/temporary_buffer.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/transform.h b/thrust/thrust/system/detail/generic/transform.h index 175fcb672b8..a105e781381 100644 --- a/thrust/thrust/system/detail/generic/transform.h +++ b/thrust/thrust/system/detail/generic/transform.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/transform.inl b/thrust/thrust/system/detail/generic/transform.inl index 6bc3292117e..e0c91b5f287 100644 --- a/thrust/thrust/system/detail/generic/transform.inl +++ b/thrust/thrust/system/detail/generic/transform.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/transform_reduce.h b/thrust/thrust/system/detail/generic/transform_reduce.h index e5c07e2d415..3f7e3c8cac6 100644 --- a/thrust/thrust/system/detail/generic/transform_reduce.h +++ b/thrust/thrust/system/detail/generic/transform_reduce.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/transform_reduce.inl b/thrust/thrust/system/detail/generic/transform_reduce.inl index 580da0c1e06..0b313b5cd41 100644 --- a/thrust/thrust/system/detail/generic/transform_reduce.inl +++ b/thrust/thrust/system/detail/generic/transform_reduce.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/transform_scan.h b/thrust/thrust/system/detail/generic/transform_scan.h index 9226615a0b1..c0b9ef4e992 100644 --- a/thrust/thrust/system/detail/generic/transform_scan.h +++ b/thrust/thrust/system/detail/generic/transform_scan.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/transform_scan.inl b/thrust/thrust/system/detail/generic/transform_scan.inl index 23e2582b6f1..0bc4805ae9d 100644 --- a/thrust/thrust/system/detail/generic/transform_scan.inl +++ b/thrust/thrust/system/detail/generic/transform_scan.inl @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/uninitialized_copy.h b/thrust/thrust/system/detail/generic/uninitialized_copy.h index 022f016055e..5fa569ba634 100644 --- a/thrust/thrust/system/detail/generic/uninitialized_copy.h +++ b/thrust/thrust/system/detail/generic/uninitialized_copy.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/uninitialized_copy.inl b/thrust/thrust/system/detail/generic/uninitialized_copy.inl index ba7a5a27dc1..d38909500c7 100644 --- a/thrust/thrust/system/detail/generic/uninitialized_copy.inl +++ b/thrust/thrust/system/detail/generic/uninitialized_copy.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/uninitialized_fill.h b/thrust/thrust/system/detail/generic/uninitialized_fill.h index dc88adc0e9c..ad32b90a602 100644 --- a/thrust/thrust/system/detail/generic/uninitialized_fill.h +++ b/thrust/thrust/system/detail/generic/uninitialized_fill.h @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/uninitialized_fill.inl b/thrust/thrust/system/detail/generic/uninitialized_fill.inl index 169abebb309..2d7cb6ec379 100644 --- a/thrust/thrust/system/detail/generic/uninitialized_fill.inl +++ b/thrust/thrust/system/detail/generic/uninitialized_fill.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/unique.h b/thrust/thrust/system/detail/generic/unique.h index 786da30caa9..7d37bb2b04f 100644 --- a/thrust/thrust/system/detail/generic/unique.h +++ b/thrust/thrust/system/detail/generic/unique.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/generic/unique.inl b/thrust/thrust/system/detail/generic/unique.inl index e85768cd3df..b47cead82a2 100644 --- a/thrust/thrust/system/detail/generic/unique.inl +++ b/thrust/thrust/system/detail/generic/unique.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/generic/unique_by_key.h b/thrust/thrust/system/detail/generic/unique_by_key.h index c070e738cc0..6aacd8774b5 100644 --- a/thrust/thrust/system/detail/generic/unique_by_key.h +++ b/thrust/thrust/system/detail/generic/unique_by_key.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/generic/unique_by_key.inl b/thrust/thrust/system/detail/generic/unique_by_key.inl index 801bdea5abf..a18b50e1883 100644 --- a/thrust/thrust/system/detail/generic/unique_by_key.inl +++ b/thrust/thrust/system/detail/generic/unique_by_key.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/internal/decompose.h b/thrust/thrust/system/detail/internal/decompose.h index 131fb258f52..987ce3f3702 100644 --- a/thrust/thrust/system/detail/internal/decompose.h +++ b/thrust/thrust/system/detail/internal/decompose.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN namespace system diff --git a/thrust/thrust/system/detail/sequential/adjacent_difference.h b/thrust/thrust/system/detail/sequential/adjacent_difference.h index 414470442b2..691a099046b 100644 --- a/thrust/thrust/system/detail/sequential/adjacent_difference.h +++ b/thrust/thrust/system/detail/sequential/adjacent_difference.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/sequential/assign_value.h b/thrust/thrust/system/detail/sequential/assign_value.h index 511a8507f8b..a90a5c3f2a7 100644 --- a/thrust/thrust/system/detail/sequential/assign_value.h +++ b/thrust/thrust/system/detail/sequential/assign_value.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/sequential/binary_search.h b/thrust/thrust/system/detail/sequential/binary_search.h index 37ffb195b49..1123bfede5a 100644 --- a/thrust/thrust/system/detail/sequential/binary_search.h +++ b/thrust/thrust/system/detail/sequential/binary_search.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/sequential/copy.h b/thrust/thrust/system/detail/sequential/copy.h index a657297698c..1cdf625c6f6 100644 --- a/thrust/thrust/system/detail/sequential/copy.h +++ b/thrust/thrust/system/detail/sequential/copy.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/sequential/copy.inl b/thrust/thrust/system/detail/sequential/copy.inl index 50007f948fc..48d8c576e81 100644 --- a/thrust/thrust/system/detail/sequential/copy.inl +++ b/thrust/thrust/system/detail/sequential/copy.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/sequential/copy_backward.h b/thrust/thrust/system/detail/sequential/copy_backward.h index b85834a601f..19f66492473 100644 --- a/thrust/thrust/system/detail/sequential/copy_backward.h +++ b/thrust/thrust/system/detail/sequential/copy_backward.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN namespace system diff --git a/thrust/thrust/system/detail/sequential/copy_if.h b/thrust/thrust/system/detail/sequential/copy_if.h index 169654517ac..4b8dc6d41bb 100644 --- a/thrust/thrust/system/detail/sequential/copy_if.h +++ b/thrust/thrust/system/detail/sequential/copy_if.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/sequential/count.h b/thrust/thrust/system/detail/sequential/count.h index aa47b74f536..2b321443051 100644 --- a/thrust/thrust/system/detail/sequential/count.h +++ b/thrust/thrust/system/detail/sequential/count.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special count functions diff --git a/thrust/thrust/system/detail/sequential/equal.h b/thrust/thrust/system/detail/sequential/equal.h index be6983aab32..a0027eaf250 100644 --- a/thrust/thrust/system/detail/sequential/equal.h +++ b/thrust/thrust/system/detail/sequential/equal.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special equal functions diff --git a/thrust/thrust/system/detail/sequential/execution_policy.h b/thrust/thrust/system/detail/sequential/execution_policy.h index dd547d77f76..a939c5c519a 100644 --- a/thrust/thrust/system/detail/sequential/execution_policy.h +++ b/thrust/thrust/system/detail/sequential/execution_policy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/sequential/extrema.h b/thrust/thrust/system/detail/sequential/extrema.h index 0859adbc3de..894315fab6a 100644 --- a/thrust/thrust/system/detail/sequential/extrema.h +++ b/thrust/thrust/system/detail/sequential/extrema.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/sequential/fill.h b/thrust/thrust/system/detail/sequential/fill.h index 85313ac6548..85b1ee9adf7 100644 --- a/thrust/thrust/system/detail/sequential/fill.h +++ b/thrust/thrust/system/detail/sequential/fill.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special fill functions diff --git a/thrust/thrust/system/detail/sequential/find.h b/thrust/thrust/system/detail/sequential/find.h index ea19b6957c8..588b01ce779 100644 --- a/thrust/thrust/system/detail/sequential/find.h +++ b/thrust/thrust/system/detail/sequential/find.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/sequential/for_each.h b/thrust/thrust/system/detail/sequential/for_each.h index c115b901cf9..cc8c3222b71 100644 --- a/thrust/thrust/system/detail/sequential/for_each.h +++ b/thrust/thrust/system/detail/sequential/for_each.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/sequential/gather.h b/thrust/thrust/system/detail/sequential/gather.h index 76eb47da643..38a9b44349c 100644 --- a/thrust/thrust/system/detail/sequential/gather.h +++ b/thrust/thrust/system/detail/sequential/gather.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special gather functions diff --git a/thrust/thrust/system/detail/sequential/general_copy.h b/thrust/thrust/system/detail/sequential/general_copy.h index a1579d5d1b4..2372162ed4a 100644 --- a/thrust/thrust/system/detail/sequential/general_copy.h +++ b/thrust/thrust/system/detail/sequential/general_copy.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/sequential/generate.h b/thrust/thrust/system/detail/sequential/generate.h index eb534e994c4..eb11cbf1ed3 100644 --- a/thrust/thrust/system/detail/sequential/generate.h +++ b/thrust/thrust/system/detail/sequential/generate.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special generate functions diff --git a/thrust/thrust/system/detail/sequential/get_value.h b/thrust/thrust/system/detail/sequential/get_value.h index f06567334eb..aed62872bfc 100644 --- a/thrust/thrust/system/detail/sequential/get_value.h +++ b/thrust/thrust/system/detail/sequential/get_value.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/sequential/inner_product.h b/thrust/thrust/system/detail/sequential/inner_product.h index 28d3f13a3ba..49c610cf9c2 100644 --- a/thrust/thrust/system/detail/sequential/inner_product.h +++ b/thrust/thrust/system/detail/sequential/inner_product.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special inner_product functions diff --git a/thrust/thrust/system/detail/sequential/insertion_sort.h b/thrust/thrust/system/detail/sequential/insertion_sort.h index 4b9d283573c..3b16f350132 100644 --- a/thrust/thrust/system/detail/sequential/insertion_sort.h +++ b/thrust/thrust/system/detail/sequential/insertion_sort.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/sequential/iter_swap.h b/thrust/thrust/system/detail/sequential/iter_swap.h index bcb98dd2acd..c00d4851e65 100644 --- a/thrust/thrust/system/detail/sequential/iter_swap.h +++ b/thrust/thrust/system/detail/sequential/iter_swap.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/sequential/logical.h b/thrust/thrust/system/detail/sequential/logical.h index 9bed89ef06e..aef2aa451b6 100644 --- a/thrust/thrust/system/detail/sequential/logical.h +++ b/thrust/thrust/system/detail/sequential/logical.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special logical functions diff --git a/thrust/thrust/system/detail/sequential/malloc_and_free.h b/thrust/thrust/system/detail/sequential/malloc_and_free.h index 452ff12beda..b5d69312eb4 100644 --- a/thrust/thrust/system/detail/sequential/malloc_and_free.h +++ b/thrust/thrust/system/detail/sequential/malloc_and_free.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include // for malloc & free #include diff --git a/thrust/thrust/system/detail/sequential/merge.h b/thrust/thrust/system/detail/sequential/merge.h index 3cb0041e269..dbfea69d2fb 100644 --- a/thrust/thrust/system/detail/sequential/merge.h +++ b/thrust/thrust/system/detail/sequential/merge.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/sequential/merge.inl b/thrust/thrust/system/detail/sequential/merge.inl index ee11e602a3c..b3448ae63ff 100644 --- a/thrust/thrust/system/detail/sequential/merge.inl +++ b/thrust/thrust/system/detail/sequential/merge.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/sequential/mismatch.h b/thrust/thrust/system/detail/sequential/mismatch.h index 5d077bbdabd..b9ad5297c83 100644 --- a/thrust/thrust/system/detail/sequential/mismatch.h +++ b/thrust/thrust/system/detail/sequential/mismatch.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special mismatch functions diff --git a/thrust/thrust/system/detail/sequential/partition.h b/thrust/thrust/system/detail/sequential/partition.h index 3878a3b2bdc..214a4c93db1 100644 --- a/thrust/thrust/system/detail/sequential/partition.h +++ b/thrust/thrust/system/detail/sequential/partition.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/sequential/per_device_resource.h b/thrust/thrust/system/detail/sequential/per_device_resource.h index 64c721210a7..855164195eb 100644 --- a/thrust/thrust/system/detail/sequential/per_device_resource.h +++ b/thrust/thrust/system/detail/sequential/per_device_resource.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special per device resource functions diff --git a/thrust/thrust/system/detail/sequential/reduce.h b/thrust/thrust/system/detail/sequential/reduce.h index e14fb4755f0..907512307c7 100644 --- a/thrust/thrust/system/detail/sequential/reduce.h +++ b/thrust/thrust/system/detail/sequential/reduce.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/sequential/reduce_by_key.h b/thrust/thrust/system/detail/sequential/reduce_by_key.h index cad30bb417c..b5999ac845b 100644 --- a/thrust/thrust/system/detail/sequential/reduce_by_key.h +++ b/thrust/thrust/system/detail/sequential/reduce_by_key.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/sequential/remove.h b/thrust/thrust/system/detail/sequential/remove.h index 1444db22fc9..8c099a4e78f 100644 --- a/thrust/thrust/system/detail/sequential/remove.h +++ b/thrust/thrust/system/detail/sequential/remove.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/sequential/replace.h b/thrust/thrust/system/detail/sequential/replace.h index 8a2fb0e0463..140645daa39 100644 --- a/thrust/thrust/system/detail/sequential/replace.h +++ b/thrust/thrust/system/detail/sequential/replace.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special replace functions diff --git a/thrust/thrust/system/detail/sequential/reverse.h b/thrust/thrust/system/detail/sequential/reverse.h index 9cd83565804..15f92dee4f2 100644 --- a/thrust/thrust/system/detail/sequential/reverse.h +++ b/thrust/thrust/system/detail/sequential/reverse.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special reverse functions diff --git a/thrust/thrust/system/detail/sequential/scan.h b/thrust/thrust/system/detail/sequential/scan.h index fee6f11571f..9087097da36 100644 --- a/thrust/thrust/system/detail/sequential/scan.h +++ b/thrust/thrust/system/detail/sequential/scan.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/sequential/scan_by_key.h b/thrust/thrust/system/detail/sequential/scan_by_key.h index 11e43969304..6127f621668 100644 --- a/thrust/thrust/system/detail/sequential/scan_by_key.h +++ b/thrust/thrust/system/detail/sequential/scan_by_key.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/sequential/scatter.h b/thrust/thrust/system/detail/sequential/scatter.h index 166b455c1ae..9fe2766476d 100644 --- a/thrust/thrust/system/detail/sequential/scatter.h +++ b/thrust/thrust/system/detail/sequential/scatter.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special scatter functions diff --git a/thrust/thrust/system/detail/sequential/sequence.h b/thrust/thrust/system/detail/sequential/sequence.h index a65392eb799..940cc291524 100644 --- a/thrust/thrust/system/detail/sequential/sequence.h +++ b/thrust/thrust/system/detail/sequential/sequence.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special sequence functions diff --git a/thrust/thrust/system/detail/sequential/set_operations.h b/thrust/thrust/system/detail/sequential/set_operations.h index 028fe9bcb53..8109f301f05 100644 --- a/thrust/thrust/system/detail/sequential/set_operations.h +++ b/thrust/thrust/system/detail/sequential/set_operations.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/sequential/sort.h b/thrust/thrust/system/detail/sequential/sort.h index 6e635deb1ea..01753da6fd9 100644 --- a/thrust/thrust/system/detail/sequential/sort.h +++ b/thrust/thrust/system/detail/sequential/sort.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/sequential/sort.inl b/thrust/thrust/system/detail/sequential/sort.inl index 30a4715b15d..9565e613474 100644 --- a/thrust/thrust/system/detail/sequential/sort.inl +++ b/thrust/thrust/system/detail/sequential/sort.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/sequential/stable_merge_sort.h b/thrust/thrust/system/detail/sequential/stable_merge_sort.h index e9a8bedc288..e4e2e4602e2 100644 --- a/thrust/thrust/system/detail/sequential/stable_merge_sort.h +++ b/thrust/thrust/system/detail/sequential/stable_merge_sort.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/sequential/stable_merge_sort.inl b/thrust/thrust/system/detail/sequential/stable_merge_sort.inl index a98e10541f9..1373b09cfc2 100644 --- a/thrust/thrust/system/detail/sequential/stable_merge_sort.inl +++ b/thrust/thrust/system/detail/sequential/stable_merge_sort.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/sequential/stable_primitive_sort.h b/thrust/thrust/system/detail/sequential/stable_primitive_sort.h index d4e16a7d18d..2bf417dc81f 100644 --- a/thrust/thrust/system/detail/sequential/stable_primitive_sort.h +++ b/thrust/thrust/system/detail/sequential/stable_primitive_sort.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/sequential/stable_primitive_sort.inl b/thrust/thrust/system/detail/sequential/stable_primitive_sort.inl index 94ba396b08d..7d30959f741 100644 --- a/thrust/thrust/system/detail/sequential/stable_primitive_sort.inl +++ b/thrust/thrust/system/detail/sequential/stable_primitive_sort.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/sequential/stable_radix_sort.h b/thrust/thrust/system/detail/sequential/stable_radix_sort.h index bb7b941d744..fcfcc8bad66 100644 --- a/thrust/thrust/system/detail/sequential/stable_radix_sort.h +++ b/thrust/thrust/system/detail/sequential/stable_radix_sort.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/detail/sequential/stable_radix_sort.inl b/thrust/thrust/system/detail/sequential/stable_radix_sort.inl index 463d380aee0..bcfccbe04b6 100644 --- a/thrust/thrust/system/detail/sequential/stable_radix_sort.inl +++ b/thrust/thrust/system/detail/sequential/stable_radix_sort.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/sequential/swap_ranges.h b/thrust/thrust/system/detail/sequential/swap_ranges.h index c41998fc52d..cb7eaf45497 100644 --- a/thrust/thrust/system/detail/sequential/swap_ranges.h +++ b/thrust/thrust/system/detail/sequential/swap_ranges.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special swap_ranges functions diff --git a/thrust/thrust/system/detail/sequential/tabulate.h b/thrust/thrust/system/detail/sequential/tabulate.h index 8a556172336..fbd33d8dc1b 100644 --- a/thrust/thrust/system/detail/sequential/tabulate.h +++ b/thrust/thrust/system/detail/sequential/tabulate.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special tabulate functions diff --git a/thrust/thrust/system/detail/sequential/temporary_buffer.h b/thrust/thrust/system/detail/sequential/temporary_buffer.h index d666f267e35..e4d3b353309 100644 --- a/thrust/thrust/system/detail/sequential/temporary_buffer.h +++ b/thrust/thrust/system/detail/sequential/temporary_buffer.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special temporary buffer functions diff --git a/thrust/thrust/system/detail/sequential/transform.h b/thrust/thrust/system/detail/sequential/transform.h index 0cd9491b4a4..a7f6017af1f 100644 --- a/thrust/thrust/system/detail/sequential/transform.h +++ b/thrust/thrust/system/detail/sequential/transform.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special transform functions diff --git a/thrust/thrust/system/detail/sequential/transform_reduce.h b/thrust/thrust/system/detail/sequential/transform_reduce.h index 15e8ed52d08..43c5a059701 100644 --- a/thrust/thrust/system/detail/sequential/transform_reduce.h +++ b/thrust/thrust/system/detail/sequential/transform_reduce.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special transform_reduce functions diff --git a/thrust/thrust/system/detail/sequential/transform_scan.h b/thrust/thrust/system/detail/sequential/transform_scan.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/detail/sequential/transform_scan.h +++ b/thrust/thrust/system/detail/sequential/transform_scan.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/detail/sequential/trivial_copy.h b/thrust/thrust/system/detail/sequential/trivial_copy.h index 44047db2b9b..03a4802e3e5 100644 --- a/thrust/thrust/system/detail/sequential/trivial_copy.h +++ b/thrust/thrust/system/detail/sequential/trivial_copy.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/detail/sequential/uninitialized_copy.h b/thrust/thrust/system/detail/sequential/uninitialized_copy.h index c3f89646b4e..61e4d048724 100644 --- a/thrust/thrust/system/detail/sequential/uninitialized_copy.h +++ b/thrust/thrust/system/detail/sequential/uninitialized_copy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special version of this algorithm diff --git a/thrust/thrust/system/detail/sequential/uninitialized_fill.h b/thrust/thrust/system/detail/sequential/uninitialized_fill.h index cdf362d9d9d..87d1b33ffba 100644 --- a/thrust/thrust/system/detail/sequential/uninitialized_fill.h +++ b/thrust/thrust/system/detail/sequential/uninitialized_fill.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special unintialized_fill functions diff --git a/thrust/thrust/system/detail/sequential/unique.h b/thrust/thrust/system/detail/sequential/unique.h index e3897ba21dc..27aa473e448 100644 --- a/thrust/thrust/system/detail/sequential/unique.h +++ b/thrust/thrust/system/detail/sequential/unique.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/sequential/unique_by_key.h b/thrust/thrust/system/detail/sequential/unique_by_key.h index 1cd0cedcfc4..9744d7b5eee 100644 --- a/thrust/thrust/system/detail/sequential/unique_by_key.h +++ b/thrust/thrust/system/detail/sequential/unique_by_key.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/detail/system_error.inl b/thrust/thrust/system/detail/system_error.inl index dbdf7d82243..10186f24bbb 100644 --- a/thrust/thrust/system/detail/system_error.inl +++ b/thrust/thrust/system/detail/system_error.inl @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/system/error_code.h b/thrust/thrust/system/error_code.h index 23e818a93ee..729c6d15a67 100644 --- a/thrust/thrust/system/error_code.h +++ b/thrust/thrust/system/error_code.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/omp/detail/adjacent_difference.h b/thrust/thrust/system/omp/detail/adjacent_difference.h index 6706826e6ca..ca729120eb8 100644 --- a/thrust/thrust/system/omp/detail/adjacent_difference.h +++ b/thrust/thrust/system/omp/detail/adjacent_difference.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/omp/detail/assign_value.h b/thrust/thrust/system/omp/detail/assign_value.h index 5924261c7ca..a4bec07d4b5 100644 --- a/thrust/thrust/system/omp/detail/assign_value.h +++ b/thrust/thrust/system/omp/detail/assign_value.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits assign_value #include diff --git a/thrust/thrust/system/omp/detail/binary_search.h b/thrust/thrust/system/omp/detail/binary_search.h index 15de5974ee9..a60ef6b9a4d 100644 --- a/thrust/thrust/system/omp/detail/binary_search.h +++ b/thrust/thrust/system/omp/detail/binary_search.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/omp/detail/copy.h b/thrust/thrust/system/omp/detail/copy.h index 9a735ca4b94..518495cc266 100644 --- a/thrust/thrust/system/omp/detail/copy.h +++ b/thrust/thrust/system/omp/detail/copy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/omp/detail/copy.inl b/thrust/thrust/system/omp/detail/copy.inl index de6ad0c851b..39b6c9b6485 100644 --- a/thrust/thrust/system/omp/detail/copy.inl +++ b/thrust/thrust/system/omp/detail/copy.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/omp/detail/copy_if.h b/thrust/thrust/system/omp/detail/copy_if.h index 67be8febb13..53bb2b414b3 100644 --- a/thrust/thrust/system/omp/detail/copy_if.h +++ b/thrust/thrust/system/omp/detail/copy_if.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/omp/detail/copy_if.inl b/thrust/thrust/system/omp/detail/copy_if.inl index 43117e74d21..77232eef2a9 100644 --- a/thrust/thrust/system/omp/detail/copy_if.inl +++ b/thrust/thrust/system/omp/detail/copy_if.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/omp/detail/count.h b/thrust/thrust/system/omp/detail/count.h index 2b57cde7e4f..afd71eb32b9 100644 --- a/thrust/thrust/system/omp/detail/count.h +++ b/thrust/thrust/system/omp/detail/count.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits count #include diff --git a/thrust/thrust/system/omp/detail/default_decomposition.h b/thrust/thrust/system/omp/detail/default_decomposition.h index 232ab0422be..df31f5aed57 100644 --- a/thrust/thrust/system/omp/detail/default_decomposition.h +++ b/thrust/thrust/system/omp/detail/default_decomposition.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/omp/detail/default_decomposition.inl b/thrust/thrust/system/omp/detail/default_decomposition.inl index ac7e36245eb..52161ebfab0 100644 --- a/thrust/thrust/system/omp/detail/default_decomposition.inl +++ b/thrust/thrust/system/omp/detail/default_decomposition.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include // don't attempt to #include this file without omp support diff --git a/thrust/thrust/system/omp/detail/equal.h b/thrust/thrust/system/omp/detail/equal.h index b0dc474862c..7f4ebc8d96f 100644 --- a/thrust/thrust/system/omp/detail/equal.h +++ b/thrust/thrust/system/omp/detail/equal.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits equal #include diff --git a/thrust/thrust/system/omp/detail/execution_policy.h b/thrust/thrust/system/omp/detail/execution_policy.h index 850084cab9a..e5e7c9cdc6a 100644 --- a/thrust/thrust/system/omp/detail/execution_policy.h +++ b/thrust/thrust/system/omp/detail/execution_policy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/omp/detail/extrema.h b/thrust/thrust/system/omp/detail/extrema.h index fd9cbe89b66..17d4ad3e4d0 100644 --- a/thrust/thrust/system/omp/detail/extrema.h +++ b/thrust/thrust/system/omp/detail/extrema.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/omp/detail/fill.h b/thrust/thrust/system/omp/detail/fill.h index 3bda479c892..aadbcf48b9e 100644 --- a/thrust/thrust/system/omp/detail/fill.h +++ b/thrust/thrust/system/omp/detail/fill.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits fill #include diff --git a/thrust/thrust/system/omp/detail/find.h b/thrust/thrust/system/omp/detail/find.h index 6a8209c13c8..03043b5320a 100644 --- a/thrust/thrust/system/omp/detail/find.h +++ b/thrust/thrust/system/omp/detail/find.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/omp/detail/for_each.h b/thrust/thrust/system/omp/detail/for_each.h index f138622e1bf..9726f9e969e 100644 --- a/thrust/thrust/system/omp/detail/for_each.h +++ b/thrust/thrust/system/omp/detail/for_each.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/omp/detail/for_each.inl b/thrust/thrust/system/omp/detail/for_each.inl index 80b47d4d173..0968f33b812 100644 --- a/thrust/thrust/system/omp/detail/for_each.inl +++ b/thrust/thrust/system/omp/detail/for_each.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/omp/detail/gather.h b/thrust/thrust/system/omp/detail/gather.h index 6630a1dd322..1ba8d623fa7 100644 --- a/thrust/thrust/system/omp/detail/gather.h +++ b/thrust/thrust/system/omp/detail/gather.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits gather #include diff --git a/thrust/thrust/system/omp/detail/generate.h b/thrust/thrust/system/omp/detail/generate.h index 847f2b151f5..a30d8080acc 100644 --- a/thrust/thrust/system/omp/detail/generate.h +++ b/thrust/thrust/system/omp/detail/generate.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits generate #include diff --git a/thrust/thrust/system/omp/detail/get_value.h b/thrust/thrust/system/omp/detail/get_value.h index cc3c0652d23..62decd37c99 100644 --- a/thrust/thrust/system/omp/detail/get_value.h +++ b/thrust/thrust/system/omp/detail/get_value.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits get_value #include diff --git a/thrust/thrust/system/omp/detail/inner_product.h b/thrust/thrust/system/omp/detail/inner_product.h index 4a11b03869f..f49e2d92795 100644 --- a/thrust/thrust/system/omp/detail/inner_product.h +++ b/thrust/thrust/system/omp/detail/inner_product.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits inner_product #include diff --git a/thrust/thrust/system/omp/detail/iter_swap.h b/thrust/thrust/system/omp/detail/iter_swap.h index 8e4fe18ba0e..89c54d1e8db 100644 --- a/thrust/thrust/system/omp/detail/iter_swap.h +++ b/thrust/thrust/system/omp/detail/iter_swap.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits iter_swap #include diff --git a/thrust/thrust/system/omp/detail/logical.h b/thrust/thrust/system/omp/detail/logical.h index 755655faecd..3ee690f0093 100644 --- a/thrust/thrust/system/omp/detail/logical.h +++ b/thrust/thrust/system/omp/detail/logical.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits logical #include diff --git a/thrust/thrust/system/omp/detail/malloc_and_free.h b/thrust/thrust/system/omp/detail/malloc_and_free.h index d68883f4561..bab9d221b54 100644 --- a/thrust/thrust/system/omp/detail/malloc_and_free.h +++ b/thrust/thrust/system/omp/detail/malloc_and_free.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits malloc and free #include diff --git a/thrust/thrust/system/omp/detail/memory.inl b/thrust/thrust/system/omp/detail/memory.inl index d66050d7ac2..d207da8199b 100644 --- a/thrust/thrust/system/omp/detail/memory.inl +++ b/thrust/thrust/system/omp/detail/memory.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/omp/detail/merge.h b/thrust/thrust/system/omp/detail/merge.h index 1938e2e3940..b8a90331443 100644 --- a/thrust/thrust/system/omp/detail/merge.h +++ b/thrust/thrust/system/omp/detail/merge.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits merge #include diff --git a/thrust/thrust/system/omp/detail/mismatch.h b/thrust/thrust/system/omp/detail/mismatch.h index 2b9f3a3645c..1d380bd113a 100644 --- a/thrust/thrust/system/omp/detail/mismatch.h +++ b/thrust/thrust/system/omp/detail/mismatch.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits mismatch #include diff --git a/thrust/thrust/system/omp/detail/par.h b/thrust/thrust/system/omp/detail/par.h index e1a07606453..cee4877898c 100644 --- a/thrust/thrust/system/omp/detail/par.h +++ b/thrust/thrust/system/omp/detail/par.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/omp/detail/partition.h b/thrust/thrust/system/omp/detail/partition.h index 66f94abe693..7f7a129a6c0 100644 --- a/thrust/thrust/system/omp/detail/partition.h +++ b/thrust/thrust/system/omp/detail/partition.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/omp/detail/partition.inl b/thrust/thrust/system/omp/detail/partition.inl index 5737762ec40..ff5adfe686c 100644 --- a/thrust/thrust/system/omp/detail/partition.inl +++ b/thrust/thrust/system/omp/detail/partition.inl @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/omp/detail/per_device_resource.h b/thrust/thrust/system/omp/detail/per_device_resource.h index 64c721210a7..855164195eb 100644 --- a/thrust/thrust/system/omp/detail/per_device_resource.h +++ b/thrust/thrust/system/omp/detail/per_device_resource.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special per device resource functions diff --git a/thrust/thrust/system/omp/detail/pragma_omp.h b/thrust/thrust/system/omp/detail/pragma_omp.h index 1b78d526651..f7c861fc281 100644 --- a/thrust/thrust/system/omp/detail/pragma_omp.h +++ b/thrust/thrust/system/omp/detail/pragma_omp.h @@ -29,11 +29,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_HOST_COMPILER == THRUST_HOST_COMPILER_MSVC // MSVC ICEs when using the standard C++11 `_Pragma` operator with OpenMP diff --git a/thrust/thrust/system/omp/detail/reduce.h b/thrust/thrust/system/omp/detail/reduce.h index 39e4057847c..cd6107bbb47 100644 --- a/thrust/thrust/system/omp/detail/reduce.h +++ b/thrust/thrust/system/omp/detail/reduce.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/omp/detail/reduce.inl b/thrust/thrust/system/omp/detail/reduce.inl index 473dfe0c8be..8ce69166fd6 100644 --- a/thrust/thrust/system/omp/detail/reduce.inl +++ b/thrust/thrust/system/omp/detail/reduce.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/omp/detail/reduce_by_key.h b/thrust/thrust/system/omp/detail/reduce_by_key.h index 997c2c88951..52b31ea3129 100644 --- a/thrust/thrust/system/omp/detail/reduce_by_key.h +++ b/thrust/thrust/system/omp/detail/reduce_by_key.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/omp/detail/reduce_by_key.inl b/thrust/thrust/system/omp/detail/reduce_by_key.inl index 3bc9e0c0ff6..9b1364efedb 100644 --- a/thrust/thrust/system/omp/detail/reduce_by_key.inl +++ b/thrust/thrust/system/omp/detail/reduce_by_key.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/omp/detail/reduce_intervals.h b/thrust/thrust/system/omp/detail/reduce_intervals.h index 58938c53607..062ebca0aff 100644 --- a/thrust/thrust/system/omp/detail/reduce_intervals.h +++ b/thrust/thrust/system/omp/detail/reduce_intervals.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/omp/detail/reduce_intervals.inl b/thrust/thrust/system/omp/detail/reduce_intervals.inl index 7254b1cbab2..bf6a1fcdde7 100644 --- a/thrust/thrust/system/omp/detail/reduce_intervals.inl +++ b/thrust/thrust/system/omp/detail/reduce_intervals.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/omp/detail/remove.h b/thrust/thrust/system/omp/detail/remove.h index 793fa98f78e..8e2dba8f1b3 100644 --- a/thrust/thrust/system/omp/detail/remove.h +++ b/thrust/thrust/system/omp/detail/remove.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/omp/detail/remove.inl b/thrust/thrust/system/omp/detail/remove.inl index 82772cc1d79..8af756d7027 100644 --- a/thrust/thrust/system/omp/detail/remove.inl +++ b/thrust/thrust/system/omp/detail/remove.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/omp/detail/replace.h b/thrust/thrust/system/omp/detail/replace.h index 12b1603a6a8..4a02ea70ffd 100644 --- a/thrust/thrust/system/omp/detail/replace.h +++ b/thrust/thrust/system/omp/detail/replace.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits this algorithm #include diff --git a/thrust/thrust/system/omp/detail/reverse.h b/thrust/thrust/system/omp/detail/reverse.h index aedea33aa82..26a58085378 100644 --- a/thrust/thrust/system/omp/detail/reverse.h +++ b/thrust/thrust/system/omp/detail/reverse.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits reverse #include diff --git a/thrust/thrust/system/omp/detail/scan.h b/thrust/thrust/system/omp/detail/scan.h index f1f901dcab5..bfc3d3f0a62 100644 --- a/thrust/thrust/system/omp/detail/scan.h +++ b/thrust/thrust/system/omp/detail/scan.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits scan #include diff --git a/thrust/thrust/system/omp/detail/scan_by_key.h b/thrust/thrust/system/omp/detail/scan_by_key.h index 5c7e3d9942a..949a567197d 100644 --- a/thrust/thrust/system/omp/detail/scan_by_key.h +++ b/thrust/thrust/system/omp/detail/scan_by_key.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits this algorithm #include diff --git a/thrust/thrust/system/omp/detail/scatter.h b/thrust/thrust/system/omp/detail/scatter.h index 12b1603a6a8..4a02ea70ffd 100644 --- a/thrust/thrust/system/omp/detail/scatter.h +++ b/thrust/thrust/system/omp/detail/scatter.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits this algorithm #include diff --git a/thrust/thrust/system/omp/detail/sequence.h b/thrust/thrust/system/omp/detail/sequence.h index 8d6e3c34f65..779f21d6906 100644 --- a/thrust/thrust/system/omp/detail/sequence.h +++ b/thrust/thrust/system/omp/detail/sequence.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits sequence #include diff --git a/thrust/thrust/system/omp/detail/set_operations.h b/thrust/thrust/system/omp/detail/set_operations.h index 890da986216..5074b324a9c 100644 --- a/thrust/thrust/system/omp/detail/set_operations.h +++ b/thrust/thrust/system/omp/detail/set_operations.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits set_operations #include diff --git a/thrust/thrust/system/omp/detail/sort.h b/thrust/thrust/system/omp/detail/sort.h index b673c572189..0d76e7b5f5a 100644 --- a/thrust/thrust/system/omp/detail/sort.h +++ b/thrust/thrust/system/omp/detail/sort.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/omp/detail/sort.inl b/thrust/thrust/system/omp/detail/sort.inl index 6a78af10616..08d2a402ae8 100644 --- a/thrust/thrust/system/omp/detail/sort.inl +++ b/thrust/thrust/system/omp/detail/sort.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // don't attempt to #include this file without omp support #if (THRUST_DEVICE_COMPILER_IS_OMP_CAPABLE == THRUST_TRUE) diff --git a/thrust/thrust/system/omp/detail/swap_ranges.h b/thrust/thrust/system/omp/detail/swap_ranges.h index 2540b86e17b..18d5b2a2084 100644 --- a/thrust/thrust/system/omp/detail/swap_ranges.h +++ b/thrust/thrust/system/omp/detail/swap_ranges.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // omp inherits swap_ranges #include diff --git a/thrust/thrust/system/omp/detail/tabulate.h b/thrust/thrust/system/omp/detail/tabulate.h index 930d9efd15f..11b209e6a1d 100644 --- a/thrust/thrust/system/omp/detail/tabulate.h +++ b/thrust/thrust/system/omp/detail/tabulate.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits tabulate #include diff --git a/thrust/thrust/system/omp/detail/temporary_buffer.h b/thrust/thrust/system/omp/detail/temporary_buffer.h index d666f267e35..e4d3b353309 100644 --- a/thrust/thrust/system/omp/detail/temporary_buffer.h +++ b/thrust/thrust/system/omp/detail/temporary_buffer.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special temporary buffer functions diff --git a/thrust/thrust/system/omp/detail/transform.h b/thrust/thrust/system/omp/detail/transform.h index 8a572e02bc3..25b53c12db5 100644 --- a/thrust/thrust/system/omp/detail/transform.h +++ b/thrust/thrust/system/omp/detail/transform.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // omp inherits transform #include diff --git a/thrust/thrust/system/omp/detail/transform_reduce.h b/thrust/thrust/system/omp/detail/transform_reduce.h index 5fb51bf8a07..11259840ac7 100644 --- a/thrust/thrust/system/omp/detail/transform_reduce.h +++ b/thrust/thrust/system/omp/detail/transform_reduce.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits transform_reduce #include diff --git a/thrust/thrust/system/omp/detail/transform_scan.h b/thrust/thrust/system/omp/detail/transform_scan.h index 02371a3fc09..411bcd5f67b 100644 --- a/thrust/thrust/system/omp/detail/transform_scan.h +++ b/thrust/thrust/system/omp/detail/transform_scan.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits transform_scan #include diff --git a/thrust/thrust/system/omp/detail/uninitialized_copy.h b/thrust/thrust/system/omp/detail/uninitialized_copy.h index 5ba0d83cde8..03e523bd7cb 100644 --- a/thrust/thrust/system/omp/detail/uninitialized_copy.h +++ b/thrust/thrust/system/omp/detail/uninitialized_copy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits uninitialized_copy #include diff --git a/thrust/thrust/system/omp/detail/uninitialized_fill.h b/thrust/thrust/system/omp/detail/uninitialized_fill.h index f1b4a302c6d..735640eb0e1 100644 --- a/thrust/thrust/system/omp/detail/uninitialized_fill.h +++ b/thrust/thrust/system/omp/detail/uninitialized_fill.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits uninitialized_fill #include diff --git a/thrust/thrust/system/omp/detail/unique.h b/thrust/thrust/system/omp/detail/unique.h index a95aaad5037..c028c5349f5 100644 --- a/thrust/thrust/system/omp/detail/unique.h +++ b/thrust/thrust/system/omp/detail/unique.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/omp/detail/unique.inl b/thrust/thrust/system/omp/detail/unique.inl index 90d10b548bc..955d0724c6d 100644 --- a/thrust/thrust/system/omp/detail/unique.inl +++ b/thrust/thrust/system/omp/detail/unique.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/omp/detail/unique_by_key.h b/thrust/thrust/system/omp/detail/unique_by_key.h index 84d721e5e97..1919c7e441f 100644 --- a/thrust/thrust/system/omp/detail/unique_by_key.h +++ b/thrust/thrust/system/omp/detail/unique_by_key.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/omp/detail/unique_by_key.inl b/thrust/thrust/system/omp/detail/unique_by_key.inl index ca183c527bc..89511daca5e 100644 --- a/thrust/thrust/system/omp/detail/unique_by_key.inl +++ b/thrust/thrust/system/omp/detail/unique_by_key.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/omp/execution_policy.h b/thrust/thrust/system/omp/execution_policy.h index f499eaed51b..bf3c3abc065 100644 --- a/thrust/thrust/system/omp/execution_policy.h +++ b/thrust/thrust/system/omp/execution_policy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header /*! \file thrust/system/omp/execution_policy.h * \brief Execution policies for Thrust's OpenMP system. diff --git a/thrust/thrust/system/omp/memory.h b/thrust/thrust/system/omp/memory.h index b568b77079c..6f123a43525 100644 --- a/thrust/thrust/system/omp/memory.h +++ b/thrust/thrust/system/omp/memory.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/omp/memory_resource.h b/thrust/thrust/system/omp/memory_resource.h index c2d3c9e650c..fde77783a3a 100644 --- a/thrust/thrust/system/omp/memory_resource.h +++ b/thrust/thrust/system/omp/memory_resource.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/omp/pointer.h b/thrust/thrust/system/omp/pointer.h index 3cf07954160..0576c25a45f 100644 --- a/thrust/thrust/system/omp/pointer.h +++ b/thrust/thrust/system/omp/pointer.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/omp/vector.h b/thrust/thrust/system/omp/vector.h index 98d8765155f..903ed09f1e1 100644 --- a/thrust/thrust/system/omp/vector.h +++ b/thrust/thrust/system/omp/vector.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/system_error.h b/thrust/thrust/system/system_error.h index 438518e72ea..056bea53eed 100644 --- a/thrust/thrust/system/system_error.h +++ b/thrust/thrust/system/system_error.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/tbb/detail/adjacent_difference.h b/thrust/thrust/system/tbb/detail/adjacent_difference.h index 70d93b46286..86f82a9a82d 100644 --- a/thrust/thrust/system/tbb/detail/adjacent_difference.h +++ b/thrust/thrust/system/tbb/detail/adjacent_difference.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/tbb/detail/assign_value.h b/thrust/thrust/system/tbb/detail/assign_value.h index 5924261c7ca..a4bec07d4b5 100644 --- a/thrust/thrust/system/tbb/detail/assign_value.h +++ b/thrust/thrust/system/tbb/detail/assign_value.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits assign_value #include diff --git a/thrust/thrust/system/tbb/detail/binary_search.h b/thrust/thrust/system/tbb/detail/binary_search.h index eed753e11c0..2c9bcbf623b 100644 --- a/thrust/thrust/system/tbb/detail/binary_search.h +++ b/thrust/thrust/system/tbb/detail/binary_search.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits binary_search #include diff --git a/thrust/thrust/system/tbb/detail/copy.h b/thrust/thrust/system/tbb/detail/copy.h index f4d737b0494..6101bae93dd 100644 --- a/thrust/thrust/system/tbb/detail/copy.h +++ b/thrust/thrust/system/tbb/detail/copy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/tbb/detail/copy.inl b/thrust/thrust/system/tbb/detail/copy.inl index bb20559b5fb..f62ab63c78e 100644 --- a/thrust/thrust/system/tbb/detail/copy.inl +++ b/thrust/thrust/system/tbb/detail/copy.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/tbb/detail/copy_if.h b/thrust/thrust/system/tbb/detail/copy_if.h index 87b60db56b5..b1e314df9dd 100644 --- a/thrust/thrust/system/tbb/detail/copy_if.h +++ b/thrust/thrust/system/tbb/detail/copy_if.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/tbb/detail/copy_if.inl b/thrust/thrust/system/tbb/detail/copy_if.inl index f566020efe4..7278675d520 100644 --- a/thrust/thrust/system/tbb/detail/copy_if.inl +++ b/thrust/thrust/system/tbb/detail/copy_if.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/tbb/detail/count.h b/thrust/thrust/system/tbb/detail/count.h index 2b57cde7e4f..afd71eb32b9 100644 --- a/thrust/thrust/system/tbb/detail/count.h +++ b/thrust/thrust/system/tbb/detail/count.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits count #include diff --git a/thrust/thrust/system/tbb/detail/equal.h b/thrust/thrust/system/tbb/detail/equal.h index b0dc474862c..7f4ebc8d96f 100644 --- a/thrust/thrust/system/tbb/detail/equal.h +++ b/thrust/thrust/system/tbb/detail/equal.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits equal #include diff --git a/thrust/thrust/system/tbb/detail/execution_policy.h b/thrust/thrust/system/tbb/detail/execution_policy.h index a67b7db379d..0a9a0c5bd6c 100644 --- a/thrust/thrust/system/tbb/detail/execution_policy.h +++ b/thrust/thrust/system/tbb/detail/execution_policy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/tbb/detail/extrema.h b/thrust/thrust/system/tbb/detail/extrema.h index 2cfdac87f8a..6897cbc3141 100644 --- a/thrust/thrust/system/tbb/detail/extrema.h +++ b/thrust/thrust/system/tbb/detail/extrema.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/tbb/detail/fill.h b/thrust/thrust/system/tbb/detail/fill.h index 3bda479c892..aadbcf48b9e 100644 --- a/thrust/thrust/system/tbb/detail/fill.h +++ b/thrust/thrust/system/tbb/detail/fill.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits fill #include diff --git a/thrust/thrust/system/tbb/detail/find.h b/thrust/thrust/system/tbb/detail/find.h index ecd6e11f7cf..449da4d5801 100644 --- a/thrust/thrust/system/tbb/detail/find.h +++ b/thrust/thrust/system/tbb/detail/find.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/tbb/detail/for_each.h b/thrust/thrust/system/tbb/detail/for_each.h index 94b7803101e..2a0df635e1e 100644 --- a/thrust/thrust/system/tbb/detail/for_each.h +++ b/thrust/thrust/system/tbb/detail/for_each.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/tbb/detail/for_each.inl b/thrust/thrust/system/tbb/detail/for_each.inl index 8e95e221cdf..aa97aea7693 100644 --- a/thrust/thrust/system/tbb/detail/for_each.inl +++ b/thrust/thrust/system/tbb/detail/for_each.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/tbb/detail/gather.h b/thrust/thrust/system/tbb/detail/gather.h index 6630a1dd322..1ba8d623fa7 100644 --- a/thrust/thrust/system/tbb/detail/gather.h +++ b/thrust/thrust/system/tbb/detail/gather.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits gather #include diff --git a/thrust/thrust/system/tbb/detail/generate.h b/thrust/thrust/system/tbb/detail/generate.h index 847f2b151f5..a30d8080acc 100644 --- a/thrust/thrust/system/tbb/detail/generate.h +++ b/thrust/thrust/system/tbb/detail/generate.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits generate #include diff --git a/thrust/thrust/system/tbb/detail/get_value.h b/thrust/thrust/system/tbb/detail/get_value.h index cc3c0652d23..62decd37c99 100644 --- a/thrust/thrust/system/tbb/detail/get_value.h +++ b/thrust/thrust/system/tbb/detail/get_value.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits get_value #include diff --git a/thrust/thrust/system/tbb/detail/inner_product.h b/thrust/thrust/system/tbb/detail/inner_product.h index 4a11b03869f..f49e2d92795 100644 --- a/thrust/thrust/system/tbb/detail/inner_product.h +++ b/thrust/thrust/system/tbb/detail/inner_product.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits inner_product #include diff --git a/thrust/thrust/system/tbb/detail/iter_swap.h b/thrust/thrust/system/tbb/detail/iter_swap.h index 8e4fe18ba0e..89c54d1e8db 100644 --- a/thrust/thrust/system/tbb/detail/iter_swap.h +++ b/thrust/thrust/system/tbb/detail/iter_swap.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits iter_swap #include diff --git a/thrust/thrust/system/tbb/detail/logical.h b/thrust/thrust/system/tbb/detail/logical.h index 755655faecd..3ee690f0093 100644 --- a/thrust/thrust/system/tbb/detail/logical.h +++ b/thrust/thrust/system/tbb/detail/logical.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits logical #include diff --git a/thrust/thrust/system/tbb/detail/malloc_and_free.h b/thrust/thrust/system/tbb/detail/malloc_and_free.h index d68883f4561..bab9d221b54 100644 --- a/thrust/thrust/system/tbb/detail/malloc_and_free.h +++ b/thrust/thrust/system/tbb/detail/malloc_and_free.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits malloc and free #include diff --git a/thrust/thrust/system/tbb/detail/memory.inl b/thrust/thrust/system/tbb/detail/memory.inl index d0985ef568c..1c6dfd07095 100644 --- a/thrust/thrust/system/tbb/detail/memory.inl +++ b/thrust/thrust/system/tbb/detail/memory.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/tbb/detail/merge.h b/thrust/thrust/system/tbb/detail/merge.h index a64b03eb637..914a7b5edb2 100644 --- a/thrust/thrust/system/tbb/detail/merge.h +++ b/thrust/thrust/system/tbb/detail/merge.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/tbb/detail/merge.inl b/thrust/thrust/system/tbb/detail/merge.inl index 4b61e16bc63..5234f4cd3f9 100644 --- a/thrust/thrust/system/tbb/detail/merge.inl +++ b/thrust/thrust/system/tbb/detail/merge.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/tbb/detail/mismatch.h b/thrust/thrust/system/tbb/detail/mismatch.h index 2b9f3a3645c..1d380bd113a 100644 --- a/thrust/thrust/system/tbb/detail/mismatch.h +++ b/thrust/thrust/system/tbb/detail/mismatch.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits mismatch #include diff --git a/thrust/thrust/system/tbb/detail/par.h b/thrust/thrust/system/tbb/detail/par.h index 74a5f6ef6d0..5a0b4937c78 100644 --- a/thrust/thrust/system/tbb/detail/par.h +++ b/thrust/thrust/system/tbb/detail/par.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/tbb/detail/partition.h b/thrust/thrust/system/tbb/detail/partition.h index ec60d3d456c..834276718fc 100644 --- a/thrust/thrust/system/tbb/detail/partition.h +++ b/thrust/thrust/system/tbb/detail/partition.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/tbb/detail/partition.inl b/thrust/thrust/system/tbb/detail/partition.inl index 4cdb0492247..a459e8b9ed8 100644 --- a/thrust/thrust/system/tbb/detail/partition.inl +++ b/thrust/thrust/system/tbb/detail/partition.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/tbb/detail/per_device_resource.h b/thrust/thrust/system/tbb/detail/per_device_resource.h index 64c721210a7..855164195eb 100644 --- a/thrust/thrust/system/tbb/detail/per_device_resource.h +++ b/thrust/thrust/system/tbb/detail/per_device_resource.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special per device resource functions diff --git a/thrust/thrust/system/tbb/detail/reduce.h b/thrust/thrust/system/tbb/detail/reduce.h index b12c7f43927..e58cb86fba5 100644 --- a/thrust/thrust/system/tbb/detail/reduce.h +++ b/thrust/thrust/system/tbb/detail/reduce.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/tbb/detail/reduce.inl b/thrust/thrust/system/tbb/detail/reduce.inl index 96621d9bf63..3b6764b0962 100644 --- a/thrust/thrust/system/tbb/detail/reduce.inl +++ b/thrust/thrust/system/tbb/detail/reduce.inl @@ -19,11 +19,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/tbb/detail/reduce_by_key.h b/thrust/thrust/system/tbb/detail/reduce_by_key.h index 0b14ca2787e..833cd3f9e71 100644 --- a/thrust/thrust/system/tbb/detail/reduce_by_key.h +++ b/thrust/thrust/system/tbb/detail/reduce_by_key.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/tbb/detail/reduce_by_key.inl b/thrust/thrust/system/tbb/detail/reduce_by_key.inl index 4053f0faf1e..1af379cded1 100644 --- a/thrust/thrust/system/tbb/detail/reduce_by_key.inl +++ b/thrust/thrust/system/tbb/detail/reduce_by_key.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/tbb/detail/reduce_intervals.h b/thrust/thrust/system/tbb/detail/reduce_intervals.h index dbb198ae7de..755540565cb 100644 --- a/thrust/thrust/system/tbb/detail/reduce_intervals.h +++ b/thrust/thrust/system/tbb/detail/reduce_intervals.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/tbb/detail/remove.h b/thrust/thrust/system/tbb/detail/remove.h index f13bdc9ccf6..37cc2ea184f 100644 --- a/thrust/thrust/system/tbb/detail/remove.h +++ b/thrust/thrust/system/tbb/detail/remove.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/tbb/detail/remove.inl b/thrust/thrust/system/tbb/detail/remove.inl index f2a35f1e534..db3b7ad603b 100644 --- a/thrust/thrust/system/tbb/detail/remove.inl +++ b/thrust/thrust/system/tbb/detail/remove.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/tbb/detail/replace.h b/thrust/thrust/system/tbb/detail/replace.h index 12b1603a6a8..4a02ea70ffd 100644 --- a/thrust/thrust/system/tbb/detail/replace.h +++ b/thrust/thrust/system/tbb/detail/replace.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits this algorithm #include diff --git a/thrust/thrust/system/tbb/detail/reverse.h b/thrust/thrust/system/tbb/detail/reverse.h index aedea33aa82..26a58085378 100644 --- a/thrust/thrust/system/tbb/detail/reverse.h +++ b/thrust/thrust/system/tbb/detail/reverse.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits reverse #include diff --git a/thrust/thrust/system/tbb/detail/scan.h b/thrust/thrust/system/tbb/detail/scan.h index 769eb449e5a..72322c6a1af 100644 --- a/thrust/thrust/system/tbb/detail/scan.h +++ b/thrust/thrust/system/tbb/detail/scan.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/tbb/detail/scan.inl b/thrust/thrust/system/tbb/detail/scan.inl index 86857f5bc81..da7ef000a0b 100644 --- a/thrust/thrust/system/tbb/detail/scan.inl +++ b/thrust/thrust/system/tbb/detail/scan.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/tbb/detail/scan_by_key.h b/thrust/thrust/system/tbb/detail/scan_by_key.h index 737df3473df..2f97e29a1a3 100644 --- a/thrust/thrust/system/tbb/detail/scan_by_key.h +++ b/thrust/thrust/system/tbb/detail/scan_by_key.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits scan_by_key #include diff --git a/thrust/thrust/system/tbb/detail/scatter.h b/thrust/thrust/system/tbb/detail/scatter.h index 12b1603a6a8..4a02ea70ffd 100644 --- a/thrust/thrust/system/tbb/detail/scatter.h +++ b/thrust/thrust/system/tbb/detail/scatter.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits this algorithm #include diff --git a/thrust/thrust/system/tbb/detail/sequence.h b/thrust/thrust/system/tbb/detail/sequence.h index 8d6e3c34f65..779f21d6906 100644 --- a/thrust/thrust/system/tbb/detail/sequence.h +++ b/thrust/thrust/system/tbb/detail/sequence.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits sequence #include diff --git a/thrust/thrust/system/tbb/detail/set_operations.h b/thrust/thrust/system/tbb/detail/set_operations.h index 890da986216..5074b324a9c 100644 --- a/thrust/thrust/system/tbb/detail/set_operations.h +++ b/thrust/thrust/system/tbb/detail/set_operations.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits set_operations #include diff --git a/thrust/thrust/system/tbb/detail/sort.h b/thrust/thrust/system/tbb/detail/sort.h index b89693a2da8..f4e19506998 100644 --- a/thrust/thrust/system/tbb/detail/sort.h +++ b/thrust/thrust/system/tbb/detail/sort.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/system/tbb/detail/sort.inl b/thrust/thrust/system/tbb/detail/sort.inl index 5b72a6f6380..7e77f4db47c 100644 --- a/thrust/thrust/system/tbb/detail/sort.inl +++ b/thrust/thrust/system/tbb/detail/sort.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/tbb/detail/swap_ranges.h b/thrust/thrust/system/tbb/detail/swap_ranges.h index a57487f9fa1..adf5c9774ce 100644 --- a/thrust/thrust/system/tbb/detail/swap_ranges.h +++ b/thrust/thrust/system/tbb/detail/swap_ranges.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // tbb inherits swap_ranges #include diff --git a/thrust/thrust/system/tbb/detail/tabulate.h b/thrust/thrust/system/tbb/detail/tabulate.h index 930d9efd15f..11b209e6a1d 100644 --- a/thrust/thrust/system/tbb/detail/tabulate.h +++ b/thrust/thrust/system/tbb/detail/tabulate.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits tabulate #include diff --git a/thrust/thrust/system/tbb/detail/temporary_buffer.h b/thrust/thrust/system/tbb/detail/temporary_buffer.h index d666f267e35..e4d3b353309 100644 --- a/thrust/thrust/system/tbb/detail/temporary_buffer.h +++ b/thrust/thrust/system/tbb/detail/temporary_buffer.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system has no special temporary buffer functions diff --git a/thrust/thrust/system/tbb/detail/transform.h b/thrust/thrust/system/tbb/detail/transform.h index 8a572e02bc3..25b53c12db5 100644 --- a/thrust/thrust/system/tbb/detail/transform.h +++ b/thrust/thrust/system/tbb/detail/transform.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // omp inherits transform #include diff --git a/thrust/thrust/system/tbb/detail/transform_reduce.h b/thrust/thrust/system/tbb/detail/transform_reduce.h index 5fb51bf8a07..11259840ac7 100644 --- a/thrust/thrust/system/tbb/detail/transform_reduce.h +++ b/thrust/thrust/system/tbb/detail/transform_reduce.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits transform_reduce #include diff --git a/thrust/thrust/system/tbb/detail/transform_scan.h b/thrust/thrust/system/tbb/detail/transform_scan.h index 02371a3fc09..411bcd5f67b 100644 --- a/thrust/thrust/system/tbb/detail/transform_scan.h +++ b/thrust/thrust/system/tbb/detail/transform_scan.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits transform_scan #include diff --git a/thrust/thrust/system/tbb/detail/uninitialized_copy.h b/thrust/thrust/system/tbb/detail/uninitialized_copy.h index 5ba0d83cde8..03e523bd7cb 100644 --- a/thrust/thrust/system/tbb/detail/uninitialized_copy.h +++ b/thrust/thrust/system/tbb/detail/uninitialized_copy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits uninitialized_copy #include diff --git a/thrust/thrust/system/tbb/detail/uninitialized_fill.h b/thrust/thrust/system/tbb/detail/uninitialized_fill.h index f1b4a302c6d..735640eb0e1 100644 --- a/thrust/thrust/system/tbb/detail/uninitialized_fill.h +++ b/thrust/thrust/system/tbb/detail/uninitialized_fill.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // this system inherits uninitialized_fill #include diff --git a/thrust/thrust/system/tbb/detail/unique.h b/thrust/thrust/system/tbb/detail/unique.h index 66ecebafe2d..1dbfe594d07 100644 --- a/thrust/thrust/system/tbb/detail/unique.h +++ b/thrust/thrust/system/tbb/detail/unique.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/tbb/detail/unique.inl b/thrust/thrust/system/tbb/detail/unique.inl index 9345cc08e69..e95ccda8fbc 100644 --- a/thrust/thrust/system/tbb/detail/unique.inl +++ b/thrust/thrust/system/tbb/detail/unique.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/tbb/detail/unique_by_key.h b/thrust/thrust/system/tbb/detail/unique_by_key.h index 9adbc07f501..3ee18c5349d 100644 --- a/thrust/thrust/system/tbb/detail/unique_by_key.h +++ b/thrust/thrust/system/tbb/detail/unique_by_key.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/tbb/detail/unique_by_key.inl b/thrust/thrust/system/tbb/detail/unique_by_key.inl index d4cc4d23c50..c1d3de85e9d 100644 --- a/thrust/thrust/system/tbb/detail/unique_by_key.inl +++ b/thrust/thrust/system/tbb/detail/unique_by_key.inl @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/tbb/execution_policy.h b/thrust/thrust/system/tbb/execution_policy.h index b305519f423..2b38827b7fe 100644 --- a/thrust/thrust/system/tbb/execution_policy.h +++ b/thrust/thrust/system/tbb/execution_policy.h @@ -18,11 +18,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header /*! \file thrust/system/tbb/execution_policy.h * \brief Execution policies for Thrust's TBB system. diff --git a/thrust/thrust/system/tbb/memory.h b/thrust/thrust/system/tbb/memory.h index 49453b3755f..c3397c8bb17 100644 --- a/thrust/thrust/system/tbb/memory.h +++ b/thrust/thrust/system/tbb/memory.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/tbb/memory_resource.h b/thrust/thrust/system/tbb/memory_resource.h index 1ba3a020ccc..2c1d1f94fb7 100644 --- a/thrust/thrust/system/tbb/memory_resource.h +++ b/thrust/thrust/system/tbb/memory_resource.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/system/tbb/pointer.h b/thrust/thrust/system/tbb/pointer.h index 794429d4d80..61cca454ba2 100644 --- a/thrust/thrust/system/tbb/pointer.h +++ b/thrust/thrust/system/tbb/pointer.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system/tbb/vector.h b/thrust/thrust/system/tbb/vector.h index d6615e500fe..51b7d3f8cb0 100644 --- a/thrust/thrust/system/tbb/vector.h +++ b/thrust/thrust/system/tbb/vector.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/system_error.h b/thrust/thrust/system_error.h index 3d657b24833..6f65961144d 100644 --- a/thrust/thrust/system_error.h +++ b/thrust/thrust/system_error.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/tabulate.h b/thrust/thrust/tabulate.h index 725ed981fcb..84773111f5d 100644 --- a/thrust/thrust/tabulate.h +++ b/thrust/thrust/tabulate.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/transform.h b/thrust/thrust/transform.h index 06886523a31..29a4b79886d 100644 --- a/thrust/thrust/transform.h +++ b/thrust/thrust/transform.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/transform_reduce.h b/thrust/thrust/transform_reduce.h index 17ae56af125..a292b11fc59 100644 --- a/thrust/thrust/transform_reduce.h +++ b/thrust/thrust/transform_reduce.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/transform_scan.h b/thrust/thrust/transform_scan.h index 1831c7d84be..41e7193f4cd 100644 --- a/thrust/thrust/transform_scan.h +++ b/thrust/thrust/transform_scan.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/tuple.h b/thrust/thrust/tuple.h index 75922592b6c..1acd746a902 100644 --- a/thrust/thrust/tuple.h +++ b/thrust/thrust/tuple.h @@ -31,11 +31,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/type_traits/integer_sequence.h b/thrust/thrust/type_traits/integer_sequence.h index 427a5cf8e14..7cb7b032296 100644 --- a/thrust/thrust/type_traits/integer_sequence.h +++ b/thrust/thrust/type_traits/integer_sequence.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/type_traits/is_contiguous_iterator.h b/thrust/thrust/type_traits/is_contiguous_iterator.h index 3eb2575c244..959abc69597 100644 --- a/thrust/thrust/type_traits/is_contiguous_iterator.h +++ b/thrust/thrust/type_traits/is_contiguous_iterator.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/type_traits/is_execution_policy.h b/thrust/thrust/type_traits/is_execution_policy.h index 18c7269d13f..cff75dc71f7 100644 --- a/thrust/thrust/type_traits/is_execution_policy.h +++ b/thrust/thrust/type_traits/is_execution_policy.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include diff --git a/thrust/thrust/type_traits/is_operator_less_or_greater_function_object.h b/thrust/thrust/type_traits/is_operator_less_or_greater_function_object.h index 0f9c21ee1c9..075a7ebd982 100644 --- a/thrust/thrust/type_traits/is_operator_less_or_greater_function_object.h +++ b/thrust/thrust/type_traits/is_operator_less_or_greater_function_object.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/type_traits/is_operator_plus_function_object.h b/thrust/thrust/type_traits/is_operator_plus_function_object.h index f7372c1d7d6..24c6aa18f9a 100644 --- a/thrust/thrust/type_traits/is_operator_plus_function_object.h +++ b/thrust/thrust/type_traits/is_operator_plus_function_object.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/type_traits/is_trivially_relocatable.h b/thrust/thrust/type_traits/is_trivially_relocatable.h index 4ab9f04fa77..0cc4efc01ee 100644 --- a/thrust/thrust/type_traits/is_trivially_relocatable.h +++ b/thrust/thrust/type_traits/is_trivially_relocatable.h @@ -25,11 +25,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/type_traits/logical_metafunctions.h b/thrust/thrust/type_traits/logical_metafunctions.h index 5cddc88722a..e362f5e9dda 100644 --- a/thrust/thrust/type_traits/logical_metafunctions.h +++ b/thrust/thrust/type_traits/logical_metafunctions.h @@ -26,11 +26,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #if THRUST_CPP_DIALECT >= 2011 diff --git a/thrust/thrust/type_traits/remove_cvref.h b/thrust/thrust/type_traits/remove_cvref.h index 5189d7ebd1c..f157670aa4e 100644 --- a/thrust/thrust/type_traits/remove_cvref.h +++ b/thrust/thrust/type_traits/remove_cvref.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_CPP_DIALECT >= 2017 #if __has_include() diff --git a/thrust/thrust/type_traits/void_t.h b/thrust/thrust/type_traits/void_t.h index d10d96f2643..d177f97b94c 100644 --- a/thrust/thrust/type_traits/void_t.h +++ b/thrust/thrust/type_traits/void_t.h @@ -22,11 +22,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #if THRUST_CPP_DIALECT >= 2017 # include diff --git a/thrust/thrust/uninitialized_copy.h b/thrust/thrust/uninitialized_copy.h index 459af1e1251..e33431af2d7 100644 --- a/thrust/thrust/uninitialized_copy.h +++ b/thrust/thrust/uninitialized_copy.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/uninitialized_fill.h b/thrust/thrust/uninitialized_fill.h index a46c78bd405..0a66e9dd860 100644 --- a/thrust/thrust/uninitialized_fill.h +++ b/thrust/thrust/uninitialized_fill.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include THRUST_NAMESPACE_BEGIN diff --git a/thrust/thrust/unique.h b/thrust/thrust/unique.h index a3a6a7fdbe2..5627376cbdf 100644 --- a/thrust/thrust/unique.h +++ b/thrust/thrust/unique.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include #include diff --git a/thrust/thrust/universal_allocator.h b/thrust/thrust/universal_allocator.h index 742bb559a3d..0ade4133e1a 100644 --- a/thrust/thrust/universal_allocator.h +++ b/thrust/thrust/universal_allocator.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header // #include the device system's vector header #define __THRUST_DEVICE_SYSTEM_MEMORY_HEADER <__THRUST_DEVICE_SYSTEM_ROOT/memory.h> diff --git a/thrust/thrust/universal_ptr.h b/thrust/thrust/universal_ptr.h index 122ade0ed11..2adeebd7d0e 100644 --- a/thrust/thrust/universal_ptr.h +++ b/thrust/thrust/universal_ptr.h @@ -24,11 +24,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/universal_vector.h b/thrust/thrust/universal_vector.h index 311f31473f7..90dbda226ea 100644 --- a/thrust/thrust/universal_vector.h +++ b/thrust/thrust/universal_vector.h @@ -23,11 +23,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include // #include the device system's vector header diff --git a/thrust/thrust/version.h b/thrust/thrust/version.h index a1ef0896751..5fec1bae9d8 100644 --- a/thrust/thrust/version.h +++ b/thrust/thrust/version.h @@ -30,11 +30,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) # pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include diff --git a/thrust/thrust/zip_function.h b/thrust/thrust/zip_function.h index b5b725b61dd..d86b07d9c87 100644 --- a/thrust/thrust/zip_function.h +++ b/thrust/thrust/zip_function.h @@ -9,11 +9,13 @@ #include -#if defined(_CCCL_COMPILER_NVHPC) && defined(_CCCL_USE_IMPLICIT_SYSTEM_DEADER) -#pragma GCC system_header -#else // ^^^ _CCCL_COMPILER_NVHPC ^^^ / vvv !_CCCL_COMPILER_NVHPC vvv -_CCCL_IMPLICIT_SYSTEM_HEADER -#endif // !_CCCL_COMPILER_NVHPC +#if defined(_CCCL_IMPLICIT_SYSTEM_HEADER_GCC) +# pragma GCC system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_CLANG) +# pragma clang system_header +#elif defined(_CCCL_IMPLICIT_SYSTEM_HEADER_MSVC) +# pragma system_header +#endif // no system header #include #include