Skip to content

Commit 2119c0f

Browse files
committed
Deprecate global namespace default type aliases
1 parent d3b6721 commit 2119c0f

File tree

1 file changed

+29
-22
lines changed

1 file changed

+29
-22
lines changed

common/src/KokkosKernels_default_types.hpp

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,61 +20,68 @@
2020
#include "Kokkos_Core.hpp" //for LayoutLeft/LayoutRight
2121
#include <KokkosKernels_config.h> //for all the ETI #cmakedefine macros
2222

23-
namespace KokkosKernels {
23+
// define a deprecated symbol = type in the global namespace
24+
// and a non-deprecated version in Kokkos Kernels
25+
// these deprecations were done in 4.4.
26+
#define KK_IMPL_MAKE_TYPE_ALIAS(symbol, type) \
27+
using symbol [[deprecated("use KokkosKernels::" #type ".")]] = type; \
28+
namespace KokkosKernels { \
29+
using symbol = type; \
30+
}
2431

2532
#if defined(KOKKOSKERNELS_INST_ORDINAL_INT)
26-
using default_lno_t = int;
33+
KK_IMPL_MAKE_TYPE_ALIAS(default_lno_t, int)
2734
#elif defined(KOKKOSKERNELS_INST_ORDINAL_INT64_T)
28-
using default_lno_t = int64_t;
35+
KK_IMPL_MAKE_TYPE_ALIAS(default_lno_t, int64_t)
2936
#else
3037
// Non-ETI build: default to int
31-
using default_lno_t = int;
38+
KK_IMPL_MAKE_TYPE_ALIAS(default_lno_t, int)
3239
#endif
3340
// Prefer int as the default offset type, because cuSPARSE doesn't support
3441
// size_t for rowptrs.
3542
#if defined(KOKKOSKERNELS_INST_OFFSET_INT)
36-
using default_size_type = int;
43+
KK_IMPL_MAKE_TYPE_ALIAS(default_size_type, int)
3744
#elif defined(KOKKOSKERNELS_INST_OFFSET_SIZE_T)
38-
using default_size_type = size_t;
45+
KK_IMPL_MAKE_TYPE_ALIAS(default_size_type, size_t)
3946
#else
4047
// Non-ETI build: default to int
41-
using default_size_type = int;
48+
KK_IMPL_MAKE_TYPE_ALIAS(default_size_type, int)
4249
#endif
4350

4451
#if defined(KOKKOSKERNELS_INST_LAYOUTLEFT)
45-
using default_layout = Kokkos::LayoutLeft;
52+
KK_IMPL_MAKE_TYPE_ALIAS(default_layout, Kokkos::LayoutLeft)
4653
#elif defined(KOKKOSKERNELS_INST_LAYOUTRIGHT)
47-
using default_layout = Kokkos::LayoutRight;
54+
KK_IMPL_MAKE_TYPE_ALIAS(default_layout, Kokkos::LayoutRight)
4855
#else
49-
using default_layout = Kokkos::LayoutLeft;
56+
KK_IMPL_MAKE_TYPE_ALIAS(default_layout, Kokkos::LayoutLeft)
5057
#endif
5158

5259
#if defined(KOKKOSKERNELS_INST_DOUBLE)
53-
using default_scalar = double;
60+
KK_IMPL_MAKE_TYPE_ALIAS(default_scalar, double)
5461
#elif defined(KOKKOSKERNELS_INST_FLOAT)
55-
using default_scalar = float;
62+
KK_IMPL_MAKE_TYPE_ALIAS(default_scalar, float)
5663
#elif defined(KOKKOSKERNELS_INST_HALF)
57-
using default_scalar = Kokkos::Experimental::half_t;
64+
KK_IMPL_MAKE_TYPE_ALIAS(default_scalar, Kokkos::Experimental::half_t)
5865
#elif defined(KOKKOSKERNELS_INST_BHALF)
59-
using default_scalar = Kokkos::Experimental::bhalf_t;
66+
KK_IMPL_MAKE_TYPE_ALIAS(default_scalar, Kokkos::Experimental::bhalf_t)
6067
#else
61-
using default_scalar = double;
68+
KK_IMPL_MAKE_TYPE_ALIAS(default_scalar, double)
6269
#endif
6370

6471
#if defined(KOKKOS_ENABLE_CUDA)
65-
using default_device = Kokkos::Cuda;
72+
KK_IMPL_MAKE_TYPE_ALIAS(default_device, Kokkos::Cuda)
6673
#elif defined(KOKKOS_ENABLE_HIP)
67-
using default_device = Kokkos::HIP;
74+
KK_IMPL_MAKE_TYPE_ALIAS(default_device, Kokkos::HIP)
6875
#elif defined(KOKKOS_ENABLE_OPENMPTARGET)
69-
using default_device = Kokkos::Experimental::OpenMPTarget;
76+
KK_IMPL_MAKE_TYPE_ALIAS(default_device, Kokkos::Experimental::OpenMPTarget)
7077
#elif defined(KOKKOS_ENABLE_OPENMP)
71-
using default_device = Kokkos::OpenMP;
78+
KK_IMPL_MAKE_TYPE_ALIAS(default_device, Kokkos::OpenMP)
7279
#elif defined(KOKKOS_ENABLE_THREADS)
73-
using default_device = Kokkos::Threads;
80+
KK_IMPL_MAKE_TYPE_ALIAS(default_device, Kokkos::Threads)
7481
#else
75-
using default_device = Kokkos::Serial;
82+
KK_IMPL_MAKE_TYPE_ALIAS(default_device, Kokkos::Serial)
7683
#endif
7784

78-
} // namespace KokkosKernels
85+
#undef KK_IMPL_MAKE_TYPE_ALIAS
7986

8087
#endif // KOKKOSKERNELS_DEFAULT_TYPES_H

0 commit comments

Comments
 (0)