Skip to content

Commit 4088134

Browse files
authored
Drop thrusts diagnostic suppression warnings (NVIDIA#2392)
* Drop thrusts diagnostic suppression warnings We have global suppression warnings for CCCL, so use them * Avoid warning of possible loss of data when casting to index type
1 parent 684cf8e commit 4088134

19 files changed

+59
-135
lines changed

thrust/testing/binary_search.cu

+3-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55

66
#include <unittest/unittest.h>
77

8-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_BEGIN
8+
_CCCL_DIAG_PUSH
9+
_CCCL_DIAG_SUPPRESS_MSVC(4244 4267) // possible loss of data
910

1011
//////////////////////
1112
// Scalar Functions //
@@ -263,7 +264,7 @@ void TestScalarEqualRangeDispatchImplicit()
263264
}
264265
DECLARE_UNITTEST(TestScalarEqualRangeDispatchImplicit);
265266

266-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_END
267+
_CCCL_DIAG_POP
267268

268269
void TestBoundsWithBigIndexesHelper(int magnitude)
269270
{

thrust/testing/counting_iterator.cu

+3-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010

1111
#include <unittest/unittest.h>
1212

13-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_BEGIN
13+
_CCCL_DIAG_PUSH
14+
_CCCL_DIAG_SUPPRESS_MSVC(4244 4267) // possible loss of data
1415

1516
// ensure that we properly support thrust::counting_iterator from cuda::std
1617
void test_iterator_traits()
@@ -245,4 +246,4 @@ void TestCountingIteratorDifference()
245246
}
246247
DECLARE_UNITTEST(TestCountingIteratorDifference);
247248

248-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_END
249+
_CCCL_DIAG_POP

thrust/testing/dereference.cu

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66

77
#include <unittest/unittest.h>
88

9-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_BEGIN
9+
_CCCL_DIAG_PUSH
10+
_CCCL_DIAG_SUPPRESS_MSVC(4244 4267) // possible loss of data
1011

1112
template <typename Iterator1, typename Iterator2>
1213
#if THRUST_DEVICE_SYSTEM == THRUST_DEVICE_SYSTEM_CUDA
@@ -106,4 +107,4 @@ void TestDeviceDereferenceTransformedCountingIterator()
106107
}
107108
DECLARE_UNITTEST(TestDeviceDereferenceTransformedCountingIterator);
108109

109-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_END
110+
_CCCL_DIAG_POP

thrust/testing/fill.cu

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77

88
#include <unittest/unittest.h>
99

10-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_BEGIN
10+
_CCCL_DIAG_PUSH
11+
_CCCL_DIAG_SUPPRESS_MSVC(4244 4267) // possible loss of data
1112

1213
template <class Vector>
1314
void TestFillSimple()
@@ -446,4 +447,4 @@ void TestFillNDispatchImplicit()
446447
}
447448
DECLARE_UNITTEST(TestFillNDispatchImplicit);
448449

449-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_END
450+
_CCCL_DIAG_POP

thrust/testing/for_each.cu

+3-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99

1010
#include <unittest/unittest.h>
1111

12-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_BEGIN
12+
_CCCL_DIAG_PUSH
13+
_CCCL_DIAG_SUPPRESS_MSVC(4244 4267) // possible loss of data
1314

1415
template <typename T>
1516
class mark_present_for_each
@@ -354,7 +355,7 @@ void TestForEachNWithLargeTypes()
354355
}
355356
DECLARE_UNITTEST(TestForEachNWithLargeTypes);
356357

357-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_END
358+
_CCCL_DIAG_POP
358359

359360
struct only_set_when_expected
360361
{

thrust/testing/functional.cu

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66

77
#include <unittest/unittest.h>
88

9-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_BEGIN
9+
_CCCL_DIAG_PUSH
10+
_CCCL_DIAG_SUPPRESS_MSVC(4244 4267) // possible loss of data
1011

1112
// There is a unfortunate miscompilation of the gcc-11 vectorizer leading to OOB writes
1213
// Adding this attribute suffices that this miscompilation does not appear anymore
@@ -366,4 +367,4 @@ DECLARE_VECTOR_UNITTEST(TestNot2);
366367

367368
#endif // Weird GCC11 failure case
368369

369-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_END
370+
_CCCL_DIAG_POP

thrust/testing/gather.cu

+3-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99

1010
#include <unittest/unittest.h>
1111

12-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_BEGIN
12+
_CCCL_DIAG_PUSH
13+
_CCCL_DIAG_SUPPRESS_MSVC(4244 4267) // possible loss of data
1314

1415
template <class Vector>
1516
void TestGatherSimple()
@@ -361,4 +362,4 @@ void TestGatherCountingIterator()
361362
}
362363
DECLARE_INTEGRAL_VECTOR_UNITTEST(TestGatherCountingIterator);
363364

364-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_END
365+
_CCCL_DIAG_POP

thrust/testing/generate.cu

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44

55
#include <unittest/unittest.h>
66

7-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_BEGIN
7+
_CCCL_DIAG_PUSH
8+
_CCCL_DIAG_SUPPRESS_MSVC(4244 4267) // possible loss of data
89

910
template <typename T>
1011
struct return_value
@@ -219,4 +220,4 @@ void TestGenerateTuple()
219220
};
220221
DECLARE_UNITTEST(TestGenerateTuple);
221222

222-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_END
223+
_CCCL_DIAG_POP

thrust/testing/random.cu

+3-2
Original file line numberDiff line numberDiff line change
@@ -670,7 +670,8 @@ void TestRanlux48Unequal()
670670
}
671671
DECLARE_UNITTEST(TestRanlux48Unequal);
672672

673-
THRUST_DISABLE_MSVC_WARNING_BEGIN(4305) // truncation warning
673+
_CCCL_DIAG_PUSH
674+
_CCCL_DIAG_SUPPRESS_MSVC(4305) // truncation warning
674675
template <typename Distribution, typename Validator>
675676
void ValidateDistributionCharacteristic()
676677
{
@@ -732,7 +733,7 @@ void ValidateDistributionCharacteristic()
732733

733734
ASSERT_EQUAL(true, d[0]);
734735
}
735-
THRUST_DISABLE_MSVC_WARNING_END(4305)
736+
_CCCL_DIAG_POP
736737

737738
template <typename Distribution>
738739
void TestDistributionSaveRestore()

thrust/testing/unittest/testframework.cu

+3-2
Original file line numberDiff line numberDiff line change
@@ -280,10 +280,11 @@ bool UnitTestDriver::run_tests(std::vector<UnitTest*>& tests_to_run, const Argum
280280
{
281281
std::time_t start_time = std::time(0);
282282

283-
THRUST_DISABLE_MSVC_FORCING_VALUE_TO_BOOL_WARNING_BEGIN
283+
_CCCL_DIAG_PUSH
284+
_CCCL_DIAG_SUPPRESS_MSVC(4800) // Forcing value to bool
284285
bool verbose = kwargs.count("verbose");
285286
bool concise = kwargs.count("concise");
286-
THRUST_DISABLE_MSVC_FORCING_VALUE_TO_BOOL_WARNING_END
287+
_CCCL_DIAG_POP
287288

288289
std::vector<TestResult> test_results;
289290

thrust/testing/vector.cu

+8-2
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,10 @@ void TestVectorToAndFromHostVector()
272272

273273
ASSERT_EQUAL(v, h);
274274

275-
THRUST_DISABLE_CLANG_SELF_ASSIGNMENT_WARNING(v = v);
275+
_CCCL_DIAG_PUSH
276+
_CCCL_DIAG_SUPPRESS_CLANG("-Wself-assign")
277+
v = v;
278+
_CCCL_DIAG_POP
276279

277280
ASSERT_EQUAL(v, h);
278281

@@ -330,7 +333,10 @@ void TestVectorToAndFromDeviceVector()
330333

331334
ASSERT_EQUAL(v, h);
332335

333-
THRUST_DISABLE_CLANG_SELF_ASSIGNMENT_WARNING(v = v);
336+
_CCCL_DIAG_PUSH
337+
_CCCL_DIAG_SUPPRESS_CLANG("-Wself-assign")
338+
v = v;
339+
_CCCL_DIAG_POP
334340

335341
ASSERT_EQUAL(v, h);
336342

thrust/thrust/detail/config/compiler.h

-100
Original file line numberDiff line numberDiff line change
@@ -117,103 +117,3 @@
117117
#else
118118
# define THRUST_DEVICE_COMPILER_IS_OMP_CAPABLE THRUST_FALSE
119119
#endif // _OPENMP
120-
121-
#if defined(_CCCL_COMPILER_MSVC) && !defined(__CUDA_ARCH__)
122-
# define THRUST_DISABLE_MSVC_WARNING_BEGIN(x) __pragma(warning(push)) __pragma(warning(disable : x)) /**/
123-
# define THRUST_DISABLE_MSVC_WARNING_END(x) __pragma(warning(pop)) /**/
124-
#else
125-
# define THRUST_DISABLE_MSVC_WARNING_BEGIN(x)
126-
# define THRUST_DISABLE_MSVC_WARNING_END(x)
127-
#endif
128-
129-
#if defined(_CCCL_COMPILER_CLANG) && !defined(__CUDA_ARCH__)
130-
# define THRUST_IGNORE_CLANG_WARNING_IMPL(x) \
131-
THRUST_PP_STRINGIZE(clang diagnostic ignored x) \
132-
/**/
133-
# define THRUST_IGNORE_CLANG_WARNING(x) \
134-
THRUST_IGNORE_CLANG_WARNING_IMPL(THRUST_PP_STRINGIZE(x)) \
135-
/**/
136-
137-
# define THRUST_DISABLE_CLANG_WARNING_BEGIN(x) \
138-
_Pragma("clang diagnostic push") _Pragma(THRUST_IGNORE_CLANG_WARNING(x)) /**/
139-
# define THRUST_DISABLE_CLANG_WARNING_END(x) _Pragma("clang diagnostic pop") /**/
140-
#else
141-
# define THRUST_DISABLE_CLANG_WARNING_BEGIN(x)
142-
# define THRUST_DISABLE_CLANG_WARNING_END(x)
143-
#endif
144-
145-
#if defined(_CCCL_COMPILER_GCC) && !defined(__CUDA_ARCH__)
146-
# define THRUST_IGNORE_GCC_WARNING_IMPL(x) \
147-
THRUST_PP_STRINGIZE(GCC diagnostic ignored x) \
148-
/**/
149-
# define THRUST_IGNORE_GCC_WARNING(x) \
150-
THRUST_IGNORE_GCC_WARNING_IMPL(THRUST_PP_STRINGIZE(x)) \
151-
/**/
152-
153-
# define THRUST_DISABLE_GCC_WARNING_BEGIN(x) _Pragma("GCC diagnostic push") _Pragma(THRUST_IGNORE_GCC_WARNING(x)) /**/
154-
# define THRUST_DISABLE_GCC_WARNING_END(x) _Pragma("GCC diagnostic pop") /**/
155-
#else
156-
# define THRUST_DISABLE_GCC_WARNING_BEGIN(x)
157-
# define THRUST_DISABLE_GCC_WARNING_END(x)
158-
#endif
159-
160-
#if defined(_CCCL_COMPILER_ICC) && !defined(__CUDA_ARCH__)
161-
# define THRUST_DISABLE_ICC_WARNING_BEGIN(x) _CCCL_DIAG_PUSH _CCCL_DIAG_SUPPRESS_ICC(x)
162-
# define THRUST_DISABLE_ICC_WARNING_END(x) _CCCL_DIAG_POP
163-
#else
164-
# define THRUST_DISABLE_ICC_WARNING_BEGIN(x)
165-
# define THRUST_DISABLE_ICC_WARNING_END(x)
166-
#endif
167-
168-
#define THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_BEGIN \
169-
THRUST_DISABLE_MSVC_WARNING_BEGIN(4244 4267) \
170-
/**/
171-
#define THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_END \
172-
THRUST_DISABLE_MSVC_WARNING_END(4244 4267) \
173-
/**/
174-
#define THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING(x) \
175-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_BEGIN \
176-
x; \
177-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_END \
178-
/**/
179-
180-
#define THRUST_DISABLE_MSVC_FORCING_VALUE_TO_BOOL_WARNING_BEGIN \
181-
THRUST_DISABLE_MSVC_WARNING_BEGIN(4800) \
182-
/**/
183-
#define THRUST_DISABLE_MSVC_FORCING_VALUE_TO_BOOL_WARNING_END \
184-
THRUST_DISABLE_MSVC_WARNING_END(4800) \
185-
/**/
186-
#define THRUST_DISABLE_MSVC_FORCING_VALUE_TO_BOOL_WARNING(x) \
187-
THRUST_DISABLE_MSVC_FORCING_VALUE_TO_BOOL_WARNING_BEGIN \
188-
x; \
189-
THRUST_DISABLE_MSVC_FORCING_VALUE_TO_BOOL_WARNING_END \
190-
/**/
191-
192-
// auto-formatting splits -Wself-assign into -Wself - assign
193-
// clang-format off
194-
#define THRUST_DISABLE_CLANG_SELF_ASSIGNMENT_WARNING_BEGIN \
195-
THRUST_DISABLE_CLANG_WARNING_BEGIN(-Wself-assign)
196-
#define THRUST_DISABLE_CLANG_SELF_ASSIGNMENT_WARNING_END \
197-
THRUST_DISABLE_CLANG_WARNING_END(-Wself-assign)
198-
// clang-format on
199-
#define THRUST_DISABLE_CLANG_SELF_ASSIGNMENT_WARNING(x) \
200-
THRUST_DISABLE_CLANG_SELF_ASSIGNMENT_WARNING_BEGIN \
201-
x; \
202-
THRUST_DISABLE_CLANG_SELF_ASSIGNMENT_WARNING_END \
203-
/**/
204-
205-
#define THRUST_DISABLE_CLANG_AND_GCC_INITIALIZER_REORDERING_WARNING_BEGIN \
206-
THRUST_DISABLE_CLANG_WARNING_BEGIN(-Wreorder) \
207-
THRUST_DISABLE_GCC_WARNING_BEGIN(-Wreorder) \
208-
THRUST_DISABLE_ICC_WARNING_BEGIN(2407) \
209-
/**/
210-
#define THRUST_DISABLE_CLANG_AND_GCC_INITIALIZER_REORDERING_WARNING_END \
211-
THRUST_DISABLE_CLANG_WARNING_END(-Wreorder) \
212-
THRUST_DISABLE_GCC_WARNING_END(-Wreorder) \
213-
THRUST_DISABLE_ICC_WARNING_END(2407) \
214-
/**/
215-
#define THRUST_DISABLE_CLANG_AND_GCC_INITIALIZER_REORDERING_WARNING(x) \
216-
THRUST_DISABLE_CLANG_AND_GCC_INITIALIZER_REORDERING_WARNING_BEGIN \
217-
x; \
218-
THRUST_DISABLE_CLANG_AND_GCC_INITIALIZER_REORDERING_WARNING_END \
219-
/**/

thrust/thrust/iterator/detail/join_iterator.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -95,15 +95,16 @@ class join_iterator
9595
// MSVC 2013 and 2015 incorrectly warning about returning a reference to
9696
// a local/temporary here.
9797
// See goo.gl/LELTNp
98-
THRUST_DISABLE_MSVC_WARNING_BEGIN(4172)
98+
_CCCL_DIAG_PUSH
99+
_CCCL_DIAG_SUPPRESS_MSVC(4172)
99100

100101
_CCCL_HOST_DEVICE typename super_t::reference dereference() const
101102
{
102103
size_type i = *super_t::base();
103104
return (i < m_n1) ? m_iter1[i] : static_cast<typename super_t::reference>(m_iter2[i]);
104105
} // end dereference()
105106

106-
THRUST_DISABLE_MSVC_WARNING_END(4172)
107+
_CCCL_DIAG_POP
107108

108109
size_type m_n1;
109110
RandomAccessIterator1 m_iter1;

thrust/thrust/iterator/discard_iterator.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
#include <thrust/iterator/detail/discard_iterator_base.h>
3333
#include <thrust/iterator/iterator_facade.h>
3434

35-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_BEGIN
35+
_CCCL_DIAG_PUSH
36+
_CCCL_DIAG_SUPPRESS_MSVC(4244 4267) // possible loss of data
3637

3738
THRUST_NAMESPACE_BEGIN
3839

@@ -162,4 +163,4 @@ make_discard_iterator(discard_iterator<>::difference_type i = discard_iterator<>
162163

163164
THRUST_NAMESPACE_END
164165

165-
THRUST_DISABLE_MSVC_POSSIBLE_LOSS_OF_DATA_WARNING_END
166+
_CCCL_DIAG_POP

thrust/thrust/iterator/permutation_iterator.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -171,15 +171,16 @@ class permutation_iterator : public thrust::detail::permutation_iterator_base<El
171171
// MSVC 2013 and 2015 incorrectly warning about returning a reference to
172172
// a local/temporary here.
173173
// See goo.gl/LELTNp
174-
THRUST_DISABLE_MSVC_WARNING_BEGIN(4172)
174+
_CCCL_DIAG_PUSH
175+
_CCCL_DIAG_SUPPRESS_MSVC(4172)
175176

176177
_CCCL_EXEC_CHECK_DISABLE
177178
_CCCL_HOST_DEVICE typename super_t::reference dereference() const
178179
{
179180
return *(m_element_iterator + *this->base());
180181
}
181182

182-
THRUST_DISABLE_MSVC_WARNING_END(4172)
183+
_CCCL_DIAG_POP
183184

184185
// make friends for the copy constructor
185186
template <typename, typename>

thrust/thrust/iterator/transform_iterator.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,8 @@ class transform_iterator
297297
// MSVC 2013 and 2015 incorrectly warning about returning a reference to
298298
// a local/temporary here.
299299
// See goo.gl/LELTNp
300-
THRUST_DISABLE_MSVC_WARNING_BEGIN(4172)
300+
_CCCL_DIAG_PUSH
301+
_CCCL_DIAG_SUPPRESS_MSVC(4172)
301302

302303
_CCCL_EXEC_CHECK_DISABLE
303304
_CCCL_HOST_DEVICE typename super_t::reference dereference() const
@@ -309,7 +310,7 @@ class transform_iterator
309310
return m_f(x);
310311
}
311312

312-
THRUST_DISABLE_MSVC_WARNING_END(4172)
313+
_CCCL_DIAG_POP
313314

314315
// tag this as mutable per Dave Abrahams in this thread:
315316
// http://lists.boost.org/Archives/boost/2004/05/65332.php

thrust/thrust/system/cuda/detail/future.inl

+5-2
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,10 @@ public:
458458
// address after its been moved into the new signal we're constructing.
459459
// NOTE: NVCC has a bug that causes it to reorder our base class initializers
460460
// in generated host code, which leads to -Wreorder warnings.
461-
THRUST_DISABLE_CLANG_AND_GCC_INITIALIZER_REORDERING_WARNING_BEGIN
461+
_CCCL_DIAG_PUSH
462+
_CCCL_DIAG_SUPPRESS_CLANG("-Wreorder")
463+
_CCCL_DIAG_SUPPRESS_GCC("-Wreorder")
464+
_CCCL_DIAG_SUPPRESS_ICC(2407)
462465
template <typename ComputeContent>
463466
_CCCL_HOST explicit async_addressable_value_with_keep_alives(
464467
unique_stream&& stream, keep_alives_type&& keep_alives, ComputeContent&& compute_content)
@@ -468,7 +471,7 @@ public:
468471
{
469472
content_ = THRUST_FWD(compute_content)(std::get<0>(this->keep_alives_));
470473
}
471-
THRUST_DISABLE_CLANG_AND_GCC_INITIALIZER_REORDERING_WARNING_END
474+
_CCCL_DIAG_POP
472475

473476
_CCCL_HOST bool valid_content() const noexcept final override
474477
{

0 commit comments

Comments
 (0)