@@ -14,12 +14,13 @@ using namespace cl;
14
14
// variable.
15
15
struct S1 {
16
16
static constexpr sycl::specialization_id a{1 };
17
- // CHECK: __SYCL_INLINE_NAMESPACE(cl) {
17
+ // CHECK: #include <CL/sycl/detail/defines_elementary.hpp>
18
+ // CHECK-NEXT: __SYCL_INLINE_NAMESPACE(cl) {
18
19
// CHECK-NEXT: namespace sycl {
19
20
// CHECK-NEXT: namespace detail {
20
21
// CHECK-NEXT: template<>
21
22
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::S1::a>() {
22
- // CHECK-NEXT: return "" ;
23
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<S1::a>) ;
23
24
// CHECK-NEXT: }
24
25
// CHECK-NEXT: } // namespace detail
25
26
// CHECK-NEXT: } // namespace sycl
@@ -31,7 +32,7 @@ constexpr sycl::specialization_id b{2};
31
32
// CHECK-NEXT: namespace detail {
32
33
// CHECK-NEXT: template<>
33
34
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::b>() {
34
- // CHECK-NEXT: return "" ;
35
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<b>) ;
35
36
// CHECK-NEXT: }
36
37
// CHECK-NEXT: } // namespace detail
37
38
// CHECK-NEXT: } // namespace sycl
@@ -42,7 +43,7 @@ inline constexpr sycl::specialization_id c{3};
42
43
// CHECK-NEXT: namespace detail {
43
44
// CHECK-NEXT: template<>
44
45
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::c>() {
45
- // CHECK-NEXT: return "" ;
46
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<c>) ;
46
47
// CHECK-NEXT: }
47
48
// CHECK-NEXT: } // namespace detail
48
49
// CHECK-NEXT: } // namespace sycl
@@ -53,7 +54,7 @@ static constexpr sycl::specialization_id d{4};
53
54
// CHECK-NEXT: namespace detail {
54
55
// CHECK-NEXT: template<>
55
56
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::d>() {
56
- // CHECK-NEXT: return "" ;
57
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<d>) ;
57
58
// CHECK-NEXT: }
58
59
// CHECK-NEXT: } // namespace detail
59
60
// CHECK-NEXT: } // namespace sycl
@@ -62,23 +63,23 @@ static constexpr sycl::specialization_id d{4};
62
63
namespace {
63
64
struct S2 {
64
65
static constexpr sycl::specialization_id a{18 };
65
- // CHECK-NEXT: namespace {
66
- // CHECK-NEXT: namespace __sycl_detail {
67
- // CHECK-NEXT: static constexpr decltype(S2::a) &__spec_id_shim_[[SHIM_ID:[0-9]+]]() {
68
- // CHECK-NEXT: return S2::a;
69
- // CHECK-NEXT: }
70
- // CHECK-NEXT: } // namespace __sycl_detail
71
- // CHECK-NEXT: } // namespace
72
- // CHECK-NEXT: __SYCL_INLINE_NAMESPACE(cl) {
73
- // CHECK-NEXT: namespace sycl {
74
- // CHECK-NEXT: namespace detail {
75
- // CHECK-NEXT: template<>
76
- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
77
- // CHECK-NEXT: return "" ;
78
- // CHECK-NEXT: }
79
- // CHECK-NEXT: } // namespace detail
80
- // CHECK-NEXT: } // namespace sycl
81
- // CHECK-NEXT: } // __SYCL_INLINE_NAMESPACE(cl)
66
+ // CHECK-NEXT: namespace {
67
+ // CHECK-NEXT: namespace __sycl_detail {
68
+ // CHECK-NEXT: static constexpr decltype(S2::a) &__spec_id_shim_[[SHIM_ID:[0-9]+]]() {
69
+ // CHECK-NEXT: return S2::a;
70
+ // CHECK-NEXT: }
71
+ // CHECK-NEXT: } // namespace __sycl_detail
72
+ // CHECK-NEXT: } // namespace
73
+ // CHECK-NEXT: __SYCL_INLINE_NAMESPACE(cl) {
74
+ // CHECK-NEXT: namespace sycl {
75
+ // CHECK-NEXT: namespace detail {
76
+ // CHECK-NEXT: template<>
77
+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
78
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<S2::a>) ;
79
+ // CHECK-NEXT: }
80
+ // CHECK-NEXT: } // namespace detail
81
+ // CHECK-NEXT: } // namespace sycl
82
+ // CHECK-NEXT: } // __SYCL_INLINE_NAMESPACE(cl)
82
83
};
83
84
} // namespace
84
85
@@ -92,7 +93,7 @@ template class S3<1>;
92
93
// CHECK-NEXT: namespace detail {
93
94
// CHECK-NEXT: template<>
94
95
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::S3<1>::a>() {
95
- // CHECK-NEXT: return "" ;
96
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<S3<1>::a>) ;
96
97
// CHECK-NEXT: }
97
98
// CHECK-NEXT: } // namespace detail
98
99
// CHECK-NEXT: } // namespace sycl
@@ -103,7 +104,7 @@ template class S3<2>;
103
104
// CHECK-NEXT: namespace detail {
104
105
// CHECK-NEXT: template<>
105
106
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::S3<2>::a>() {
106
- // CHECK-NEXT: return "" ;
107
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<S3<2>::a>) ;
107
108
// CHECK-NEXT: }
108
109
// CHECK-NEXT: } // namespace detail
109
110
// CHECK-NEXT: } // namespace sycl
@@ -116,7 +117,7 @@ constexpr sycl::specialization_id same_name{5};
116
117
// CHECK-NEXT: namespace detail {
117
118
// CHECK-NEXT: template<>
118
119
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::inner::same_name>() {
119
- // CHECK-NEXT: return "" ;
120
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<inner::same_name>) ;
120
121
// CHECK-NEXT: }
121
122
// CHECK-NEXT: } // namespace detail
122
123
// CHECK-NEXT: } // namespace sycl
@@ -128,7 +129,7 @@ constexpr sycl::specialization_id same_name{6};
128
129
// CHECK-NEXT: namespace detail {
129
130
// CHECK-NEXT: template<>
130
131
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::same_name>() {
131
- // CHECK-NEXT: return "" ;
132
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<same_name>) ;
132
133
// CHECK-NEXT: }
133
134
// CHECK-NEXT: } // namespace detail
134
135
// CHECK-NEXT: } // namespace sycl
@@ -147,7 +148,7 @@ constexpr sycl::specialization_id same_name{7};
147
148
// CHECK-NEXT: namespace detail {
148
149
// CHECK-NEXT: template<>
149
150
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
150
- // CHECK-NEXT: return "" ;
151
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<same_name>) ;
151
152
// CHECK-NEXT: }
152
153
// CHECK-NEXT: } // namespace detail
153
154
// CHECK-NEXT: } // namespace sycl
@@ -168,7 +169,7 @@ constexpr sycl::specialization_id same_name{8};
168
169
// CHECK-NEXT: namespace detail {
169
170
// CHECK-NEXT: template<>
170
171
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
171
- // CHECK-NEXT: return "" ;
172
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<inner::same_name>) ;
172
173
// CHECK-NEXT: }
173
174
// CHECK-NEXT: } // namespace detail
174
175
// CHECK-NEXT: } // namespace sycl
@@ -192,7 +193,7 @@ constexpr sycl::specialization_id same_name{9};
192
193
// CHECK-NEXT: namespace detail {
193
194
// CHECK-NEXT: template<>
194
195
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::inner::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
195
- // CHECK-NEXT: return "" ;
196
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<inner::same_name>) ;
196
197
// CHECK-NEXT: }
197
198
// CHECK-NEXT: } // namespace detail
198
199
// CHECK-NEXT: } // namespace sycl
@@ -207,7 +208,7 @@ constexpr sycl::specialization_id same_name{10};
207
208
// CHECK-NEXT: namespace detail {
208
209
// CHECK-NEXT: template<>
209
210
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::outer::same_name>() {
210
- // CHECK-NEXT: return "" ;
211
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<outer::same_name>) ;
211
212
// CHECK-NEXT: }
212
213
// CHECK-NEXT: } // namespace detail
213
214
// CHECK-NEXT: } // namespace sycl
@@ -228,7 +229,7 @@ constexpr sycl::specialization_id same_name{11};
228
229
// CHECK-NEXT: namespace detail {
229
230
// CHECK-NEXT: template<>
230
231
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::outer::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
231
- // CHECK-NEXT: return "" ;
232
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<outer::same_name>) ;
232
233
// CHECK-NEXT: }
233
234
// CHECK-NEXT: } // namespace detail
234
235
// CHECK-NEXT: } // namespace sycl
@@ -250,7 +251,7 @@ constexpr sycl::specialization_id same_name{12};
250
251
// CHECK-NEXT: namespace detail {
251
252
// CHECK-NEXT: template<>
252
253
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::outer::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
253
- // CHECK-NEXT: return "" ;
254
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<outer::inner::same_name>) ;
254
255
// CHECK-NEXT: }
255
256
// CHECK-NEXT: } // namespace detail
256
257
// CHECK-NEXT: } // namespace sycl
@@ -288,7 +289,7 @@ constexpr sycl::specialization_id same_name{13};
288
289
// CHECK-NEXT: namespace detail {
289
290
// CHECK-NEXT: template<>
290
291
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::outer::__sycl_detail::__spec_id_shim_[[SHIM_ID_2]]()>() {
291
- // CHECK-NEXT: return "" ;
292
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<outer::inner::same_name>) ;
292
293
// CHECK-NEXT: }
293
294
// CHECK-NEXT: } // namespace detail
294
295
// CHECK-NEXT: } // namespace sycl
@@ -313,7 +314,7 @@ constexpr sycl::specialization_id same_name{14};
313
314
// CHECK-NEXT: namespace detail {
314
315
// CHECK-NEXT: template<>
315
316
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
316
- // CHECK-NEXT: return "" ;
317
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<outer::same_name>) ;
317
318
// CHECK-NEXT: }
318
319
// CHECK-NEXT: } // namespace detail
319
320
// CHECK-NEXT: } // namespace sycl
@@ -343,7 +344,7 @@ constexpr sycl::specialization_id same_name{15};
343
344
// CHECK-NEXT: namespace detail {
344
345
// CHECK-NEXT: template<>
345
346
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::__sycl_detail::__spec_id_shim_[[SHIM_ID2]]()>() {
346
- // CHECK-NEXT: return "" ;
347
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<outer::same_name>) ;
347
348
// CHECK-NEXT: }
348
349
// CHECK-NEXT: } // namespace detail
349
350
// CHECK-NEXT: } // namespace sycl
@@ -373,7 +374,7 @@ constexpr sycl::specialization_id same_name{16};
373
374
// CHECK-NEXT: namespace detail {
374
375
// CHECK-NEXT: template<>
375
376
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::__sycl_detail::__spec_id_shim_[[SHIM_ID2]]()>() {
376
- // CHECK-NEXT: return "" ;
377
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<outer::inner::same_name>) ;
377
378
// CHECK-NEXT: }
378
379
// CHECK-NEXT: } // namespace detail
379
380
// CHECK-NEXT: } // namespace sycl
@@ -391,7 +392,7 @@ constexpr sycl::specialization_id same_name{17};
391
392
// CHECK-NEXT: namespace detail {
392
393
// CHECK-NEXT: template<>
393
394
// CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID<::outer::inner::same_name>() {
394
- // CHECK-NEXT: return "" ;
395
+ // CHECK-NEXT: return __builtin_unique_stable_name(specialization_id_name_generator<outer::inner::same_name>) ;
395
396
// CHECK-NEXT: }
396
397
// CHECK-NEXT: } // namespace detail
397
398
// CHECK-NEXT: } // namespace sycl
0 commit comments