diff --git a/.upstream-tests/test/cuda/bad_atomic_alignment.pass.cpp b/.upstream-tests/test/cuda/bad_atomic_alignment.pass.cpp index 0ad600fde5..989a90f8ad 100644 --- a/.upstream-tests/test/cuda/bad_atomic_alignment.pass.cpp +++ b/.upstream-tests/test/cuda/bad_atomic_alignment.pass.cpp @@ -17,11 +17,9 @@ // https://github.com/NVIDIA/libcudacxx/issues/160 #include -#include "cuda_space_selector.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} +#include "cuda_space_selector.h" +#include "test_macros.h" template typename Selector> struct TestFn { diff --git a/.upstream-tests/test/std/atomics/atomics.types.generic/enum_class.pass.cpp b/.upstream-tests/test/std/atomics/atomics.types.generic/enum_class.pass.cpp index 6b58ecbb9c..b367eba0f1 100644 --- a/.upstream-tests/test/std/atomics/atomics.types.generic/enum_class.pass.cpp +++ b/.upstream-tests/test/std/atomics/atomics.types.generic/enum_class.pass.cpp @@ -56,10 +56,6 @@ #include "cuda_space_selector.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - enum class foo_bar_enum : uint8_t { foo, bar, diff --git a/.upstream-tests/test/std/atomics/atomics.types.generic/non_trivial.pass.cpp b/.upstream-tests/test/std/atomics/atomics.types.generic/non_trivial.pass.cpp index 79ee6f5b4f..290adad792 100644 --- a/.upstream-tests/test/std/atomics/atomics.types.generic/non_trivial.pass.cpp +++ b/.upstream-tests/test/std/atomics/atomics.types.generic/non_trivial.pass.cpp @@ -60,10 +60,6 @@ #include "test_macros.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - struct aggregate { double a; double b; diff --git a/.upstream-tests/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp b/.upstream-tests/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp index 814ab555d5..b7533786a3 100644 --- a/.upstream-tests/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp +++ b/.upstream-tests/test/std/containers/sequences/array/array.cons/implicit_copy.pass.cpp @@ -28,10 +28,6 @@ #define TEST_NOT_COPY_ASSIGNABLE(T) static_assert(!cuda::std::is_copy_assignable::value, "") #endif -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - struct NoDefault { __host__ __device__ NoDefault(int) {} }; diff --git a/.upstream-tests/test/std/containers/sequences/array/at.pass.cpp b/.upstream-tests/test/std/containers/sequences/array/at.pass.cpp index 2cc01b026c..38e93052e0 100644 --- a/.upstream-tests/test/std/containers/sequences/array/at.pass.cpp +++ b/.upstream-tests/test/std/containers/sequences/array/at.pass.cpp @@ -30,10 +30,6 @@ __host__ __device__ constexpr bool check_idx( size_t idx, double val ) } #endif -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - int main(int, char**) { { diff --git a/.upstream-tests/test/std/containers/sequences/array/size_and_alignment.pass.cpp b/.upstream-tests/test/std/containers/sequences/array/size_and_alignment.pass.cpp index 41b481360b..8ec294500a 100644 --- a/.upstream-tests/test/std/containers/sequences/array/size_and_alignment.pass.cpp +++ b/.upstream-tests/test/std/containers/sequences/array/size_and_alignment.pass.cpp @@ -24,10 +24,6 @@ #pragma warning(disable: 4324) #endif -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - template struct MyArray { T elems[Size]; diff --git a/.upstream-tests/test/std/containers/views/mdspan/mdspan.layout.util/layout_util.hpp b/.upstream-tests/test/std/containers/views/mdspan/mdspan.layout.util/layout_util.hpp index dbe0637722..493056521a 100644 --- a/.upstream-tests/test/std/containers/views/mdspan/mdspan.layout.util/layout_util.hpp +++ b/.upstream-tests/test/std/containers/views/mdspan/mdspan.layout.util/layout_util.hpp @@ -163,7 +163,3 @@ struct is_stride_avail< T template< class T, class RankType > constexpr bool is_stride_avail_v = is_stride_avail< T, RankType >::value; - -// Workaround for variables that are only used in static_assert's -template< typename T > -__host__ __device__ constexpr bool unused( T && ) { return true; } diff --git a/.upstream-tests/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/default.pass.cpp b/.upstream-tests/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/default.pass.cpp index 94e9a657ea..8efaf0acab 100644 --- a/.upstream-tests/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/default.pass.cpp +++ b/.upstream-tests/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/default.pass.cpp @@ -20,10 +20,6 @@ #include "test_macros.h" #include "test_iterators.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - template __host__ __device__ void diff --git a/.upstream-tests/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/default.pass.cpp b/.upstream-tests/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/default.pass.cpp index 1fcfe31073..ca4e54eac3 100644 --- a/.upstream-tests/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/default.pass.cpp +++ b/.upstream-tests/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/default.pass.cpp @@ -20,10 +20,6 @@ #include "test_macros.h" #include "test_iterators.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - template __host__ __device__ void diff --git a/.upstream-tests/test/std/numerics/complex.number/ccmplx/ccomplex.pass.cpp b/.upstream-tests/test/std/numerics/complex.number/ccmplx/ccomplex.pass.cpp index 30f4d46f9a..e0fa0ebfd5 100644 --- a/.upstream-tests/test/std/numerics/complex.number/ccmplx/ccomplex.pass.cpp +++ b/.upstream-tests/test/std/numerics/complex.number/ccmplx/ccomplex.pass.cpp @@ -12,10 +12,6 @@ #include "test_macros.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - int main(int, char**) { cuda::std::complex d; diff --git a/.upstream-tests/test/std/thread/thread.barrier/try_wait_parity_for.pass.cpp b/.upstream-tests/test/std/thread/thread.barrier/try_wait_parity_for.pass.cpp index ec6540f1b8..cb25ac8b6f 100644 --- a/.upstream-tests/test/std/thread/thread.barrier/try_wait_parity_for.pass.cpp +++ b/.upstream-tests/test/std/thread/thread.barrier/try_wait_parity_for.pass.cpp @@ -18,10 +18,6 @@ #include "cuda_space_selector.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - template typename Selector, typename Initializer = constructor_initializer> diff --git a/.upstream-tests/test/std/thread/thread.barrier/try_wait_parity_until.pass.cpp b/.upstream-tests/test/std/thread/thread.barrier/try_wait_parity_until.pass.cpp index f75ab3cfdb..f6c9280e8b 100644 --- a/.upstream-tests/test/std/thread/thread.barrier/try_wait_parity_until.pass.cpp +++ b/.upstream-tests/test/std/thread/thread.barrier/try_wait_parity_until.pass.cpp @@ -18,10 +18,6 @@ #include "cuda_space_selector.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - template typename Selector, typename Initializer = constructor_initializer> diff --git a/.upstream-tests/test/std/utilities/time/time.duration/time.duration.literals/literals.abiv3.pass.cpp b/.upstream-tests/test/std/utilities/time/time.duration/time.duration.literals/literals.abiv3.pass.cpp index 8dd16c9b65..06047b8168 100644 --- a/.upstream-tests/test/std/utilities/time/time.duration/time.duration.literals/literals.abiv3.pass.cpp +++ b/.upstream-tests/test/std/utilities/time/time.duration/time.duration.literals/literals.abiv3.pass.cpp @@ -19,9 +19,6 @@ #include #include "test_macros.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} int main(int, char**) { diff --git a/.upstream-tests/test/std/utilities/tuple/tuple.general/ignore.pass.cpp b/.upstream-tests/test/std/utilities/tuple/tuple.general/ignore.pass.cpp index a7bca7c47c..9131482e4f 100644 --- a/.upstream-tests/test/std/utilities/tuple/tuple.general/ignore.pass.cpp +++ b/.upstream-tests/test/std/utilities/tuple/tuple.general/ignore.pass.cpp @@ -19,10 +19,6 @@ #include "test_macros.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - __host__ __device__ constexpr bool test_ignore_constexpr() { diff --git a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.apply/apply.pass.cpp b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.apply/apply.pass.cpp index db474e7da7..2b104bad75 100644 --- a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.apply/apply.pass.cpp +++ b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.apply/apply.pass.cpp @@ -32,10 +32,6 @@ // Disable the missing braces warning for this reason. #include "disable_missing_braces_warning.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - __host__ __device__ constexpr int constexpr_sum_fn() { return 0; } diff --git a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp index 0855337d00..22453abaa2 100644 --- a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp +++ b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp @@ -30,10 +30,6 @@ // Disable the missing braces warning for this reason. #include "disable_missing_braces_warning.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - template struct ConstexprConstructibleFromTuple { template diff --git a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.pass.cpp b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.pass.cpp index c2fa85c69e..08b57881b5 100644 --- a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.pass.cpp +++ b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.pass.cpp @@ -23,10 +23,6 @@ #include "test_macros.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - struct NonAssignable { NonAssignable& operator=(NonAssignable const&) = delete; NonAssignable& operator=(NonAssignable&&) = delete; diff --git a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.assign/move.pass.cpp b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.assign/move.pass.cpp index a680cfd41e..63255a8ab8 100644 --- a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.assign/move.pass.cpp +++ b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.assign/move.pass.cpp @@ -25,10 +25,6 @@ #include "test_macros.h" #include "MoveOnly.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - struct NonAssignable { NonAssignable& operator=(NonAssignable const&) = delete; NonAssignable& operator=(NonAssignable&&) = delete; diff --git a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.fail.cpp b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.fail.cpp index 8d6d705480..6d85bf66eb 100644 --- a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.fail.cpp +++ b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.fail.cpp @@ -13,7 +13,7 @@ // template // explicit tuple(UTypes&&... u); -// UNSUPPORTED: c++98, c++03 +// UNSUPPORTED: c++98, c++03 // UNSUPPORTED: nvrtc /* @@ -24,9 +24,7 @@ #include #include -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} +#include "test_macros.h" class MoveOnly { diff --git a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc.pass.cpp b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc.pass.cpp index 35dbb57ab8..ad91dfbfa9 100644 --- a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc.pass.cpp +++ b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc.pass.cpp @@ -30,10 +30,6 @@ #include "../alloc_first.h" #include "../alloc_last.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - template struct NonDefaultConstructible { __host__ __device__ constexpr NonDefaultConstructible() { diff --git a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.pass.cpp b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.pass.cpp index ec8e732b78..08696d8f2f 100644 --- a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.pass.cpp +++ b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.pass.cpp @@ -21,10 +21,6 @@ #include "test_macros.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - struct Empty {}; int main(int, char**) diff --git a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/deduct.pass.cpp b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/deduct.pass.cpp index 942ba600d4..4b9f9110f7 100644 --- a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/deduct.pass.cpp +++ b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/deduct.pass.cpp @@ -34,10 +34,6 @@ #include "test_macros.h" #include "archetypes.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - // Overloads // using A = Allocator // using AT = cuda::std::allocator_arg_t diff --git a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp index 99526e5d2a..6db981ef25 100644 --- a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp +++ b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp @@ -24,10 +24,6 @@ #include "test_macros.h" #include "DefaultOnly.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - struct NoDefault { NoDefault() = delete; __host__ __device__ explicit NoDefault(int) { } diff --git a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp index 3368423bd6..55537312d0 100644 --- a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp +++ b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp @@ -23,10 +23,6 @@ #include "test_macros.h" #include "MoveOnly.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - struct ConstructsWithTupleLeaf { __host__ __device__ ConstructsWithTupleLeaf() {} diff --git a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/nothrow_cnstr.pass.cpp b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/nothrow_cnstr.pass.cpp index 322e567b63..3c6d441bd7 100644 --- a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/nothrow_cnstr.pass.cpp +++ b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/nothrow_cnstr.pass.cpp @@ -26,10 +26,6 @@ #include "test_macros.h" #include "MoveOnly.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - struct NothrowConstruct { __host__ __device__ constexpr NothrowConstruct(int) noexcept {}; diff --git a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp index 3bf95191a9..a06fff4ddc 100644 --- a/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp +++ b/.upstream-tests/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp @@ -29,10 +29,6 @@ #include "test_macros.h" #include "MoveOnly.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - int main(int, char**) { { diff --git a/.upstream-tests/test/std/utilities/utility/exchange/exchange.pass.cpp b/.upstream-tests/test/std/utilities/utility/exchange/exchange.pass.cpp index 717ba91140..7933d1072e 100644 --- a/.upstream-tests/test/std/utilities/utility/exchange/exchange.pass.cpp +++ b/.upstream-tests/test/std/utilities/utility/exchange/exchange.pass.cpp @@ -25,10 +25,6 @@ #include "test_macros.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - #if TEST_STD_VER > 11 __host__ __device__ TEST_CONSTEXPR_CXX14 bool test_constexpr() { int v = 12; diff --git a/.upstream-tests/test/std/utilities/utility/forward/move_if_noexcept.pass.cpp b/.upstream-tests/test/std/utilities/utility/forward/move_if_noexcept.pass.cpp index 0c245d7548..bc40c3b0c1 100644 --- a/.upstream-tests/test/std/utilities/utility/forward/move_if_noexcept.pass.cpp +++ b/.upstream-tests/test/std/utilities/utility/forward/move_if_noexcept.pass.cpp @@ -24,10 +24,6 @@ #include "test_macros.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - class A { __host__ __device__ A(const A&); diff --git a/.upstream-tests/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct_t.pass.cpp b/.upstream-tests/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct_t.pass.cpp index a3bf3a0626..ac9e7dc68b 100644 --- a/.upstream-tests/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct_t.pass.cpp +++ b/.upstream-tests/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct_t.pass.cpp @@ -15,9 +15,7 @@ #include -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} +#include "test_macros.h" int main(int, char**) { cuda::std::piecewise_construct_t x = cuda::std::piecewise_construct; diff --git a/.upstream-tests/test/std/utilities/utility/pairs/pairs.pair/assign_pair.pass.cpp b/.upstream-tests/test/std/utilities/utility/pairs/pairs.pair/assign_pair.pass.cpp index e77004b15f..977eec6f66 100644 --- a/.upstream-tests/test/std/utilities/utility/pairs/pairs.pair/assign_pair.pass.cpp +++ b/.upstream-tests/test/std/utilities/utility/pairs/pairs.pair/assign_pair.pass.cpp @@ -22,10 +22,6 @@ #include "test_macros.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - struct NonAssignable { NonAssignable& operator=(NonAssignable const&) = delete; NonAssignable& operator=(NonAssignable&&) = delete; diff --git a/.upstream-tests/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp b/.upstream-tests/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp index faf48e429b..e43f5c119b 100644 --- a/.upstream-tests/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp +++ b/.upstream-tests/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp @@ -36,10 +36,6 @@ #include "test_macros.h" #include "archetypes.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - // Overloads // --------------- // (1) pair(const T1&, const T2&) -> pair diff --git a/.upstream-tests/test/std/views/views.span/span.cons/range.pass.cpp b/.upstream-tests/test/std/views/views.span/span.cons/range.pass.cpp index 96c420053d..b357244f3f 100644 --- a/.upstream-tests/test/std/views/views.span/span.cons/range.pass.cpp +++ b/.upstream-tests/test/std/views/views.span/span.cons/range.pass.cpp @@ -42,10 +42,6 @@ struct IsAContainer { T v_; }; -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - __host__ __device__ void checkCV() { IsAContainer v{}; diff --git a/.upstream-tests/test/std/views/views.span/span.elem/back.pass.cpp b/.upstream-tests/test/std/views/views.span/span.elem/back.pass.cpp index a59249df7e..0646234975 100644 --- a/.upstream-tests/test/std/views/views.span/span.elem/back.pass.cpp +++ b/.upstream-tests/test/std/views/views.span/span.elem/back.pass.cpp @@ -21,10 +21,6 @@ #include "test_macros.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - template __host__ __device__ constexpr bool testConstexprSpan(Span sp) diff --git a/.upstream-tests/test/std/views/views.span/span.elem/front.pass.cpp b/.upstream-tests/test/std/views/views.span/span.elem/front.pass.cpp index 82db22d17e..850dac4221 100644 --- a/.upstream-tests/test/std/views/views.span/span.elem/front.pass.cpp +++ b/.upstream-tests/test/std/views/views.span/span.elem/front.pass.cpp @@ -21,10 +21,6 @@ #include "test_macros.h" -template -__host__ __device__ -constexpr bool unused(T &&) {return true;} - template __host__ __device__ constexpr bool testConstexprSpan(Span sp) diff --git a/.upstream-tests/test/support/test_macros.h b/.upstream-tests/test/support/test_macros.h index 268ddf70e8..80669c21c0 100644 --- a/.upstream-tests/test/support/test_macros.h +++ b/.upstream-tests/test/support/test_macros.h @@ -412,6 +412,10 @@ inline void DoNotOptimize(Tp const& value) { return v; \ } +template +__host__ __device__ +constexpr bool unused(T &&) {return true;} + #if defined(__GNUC__) #pragma GCC diagnostic pop #endif