@@ -9,7 +9,10 @@ int main() {
99 cl::sycl::kernel_single_task<class first_kernel >([]() {});
1010}
1111
12+ // CHECK: #include <CL/sycl/detail/defines_elementary.hpp>
13+
1214using namespace cl ;
15+
1316// Example ways in which the application can declare a "specialization_id"
1417// variable.
1518struct S1 {
@@ -18,7 +21,7 @@ struct S1 {
1821 // CHECK-NEXT: namespace sycl {
1922 // CHECK-NEXT: namespace detail {
2023 // CHECK-NEXT: template<>
21- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::S1::a>() {
24+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::S1::a>() {
2225 // CHECK-NEXT: return "_ZN2S11aE";
2326 // CHECK-NEXT: }
2427 // CHECK-NEXT: } // namespace detail
@@ -30,7 +33,7 @@ constexpr sycl::specialization_id b{2};
3033// CHECK-NEXT: namespace sycl {
3134// CHECK-NEXT: namespace detail {
3235// CHECK-NEXT: template<>
33- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::b>() {
36+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::b>() {
3437// CHECK-NEXT: return "____ZL1b";
3538// CHECK-NEXT: }
3639// CHECK-NEXT: } // namespace detail
@@ -41,7 +44,7 @@ inline constexpr sycl::specialization_id c{3};
4144// CHECK-NEXT: namespace sycl {
4245// CHECK-NEXT: namespace detail {
4346// CHECK-NEXT: template<>
44- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::c>() {
47+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::c>() {
4548// CHECK-NEXT: return "_Z1c";
4649// CHECK-NEXT: }
4750// CHECK-NEXT: } // namespace detail
@@ -52,7 +55,7 @@ static constexpr sycl::specialization_id d{4};
5255// CHECK-NEXT: namespace sycl {
5356// CHECK-NEXT: namespace detail {
5457// CHECK-NEXT: template<>
55- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::d>() {
58+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::d>() {
5659// CHECK-NEXT: return "____ZL1d";
5760// CHECK-NEXT: }
5861// CHECK-NEXT: } // namespace detail
@@ -73,7 +76,7 @@ struct S2 {
7376 // CHECK-NEXT: namespace sycl {
7477 // CHECK-NEXT: namespace detail {
7578 // CHECK-NEXT: template<>
76- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
79+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
7780 // CHECK-NEXT: return "____ZN12_GLOBAL__N_12S21aE";
7881 // CHECK-NEXT: }
7982 // CHECK-NEXT: } // namespace detail
@@ -91,7 +94,7 @@ template class S3<1>;
9194// CHECK-NEXT: namespace sycl {
9295// CHECK-NEXT: namespace detail {
9396// CHECK-NEXT: template<>
94- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::S3<1>::a>() {
97+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::S3<1>::a>() {
9598// CHECK-NEXT: return "_ZN2S3ILi1EE1aE";
9699// CHECK-NEXT: }
97100// CHECK-NEXT: } // namespace detail
@@ -102,7 +105,7 @@ template class S3<2>;
102105// CHECK-NEXT: namespace sycl {
103106// CHECK-NEXT: namespace detail {
104107// CHECK-NEXT: template<>
105- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::S3<2>::a>() {
108+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::S3<2>::a>() {
106109// CHECK-NEXT: return "_ZN2S3ILi2EE1aE";
107110// CHECK-NEXT: }
108111// CHECK-NEXT: } // namespace detail
@@ -115,7 +118,7 @@ constexpr sycl::specialization_id same_name{5};
115118// CHECK-NEXT: namespace sycl {
116119// CHECK-NEXT: namespace detail {
117120// CHECK-NEXT: template<>
118- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::inner::same_name>() {
121+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::inner::same_name>() {
119122// CHECK-NEXT: return "____ZN5innerL9same_nameE";
120123// CHECK-NEXT: }
121124// CHECK-NEXT: } // namespace detail
@@ -127,7 +130,7 @@ constexpr sycl::specialization_id same_name{6};
127130// CHECK-NEXT: namespace sycl {
128131// CHECK-NEXT: namespace detail {
129132// CHECK-NEXT: template<>
130- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::same_name>() {
133+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::same_name>() {
131134// CHECK-NEXT: return "____ZL9same_name";
132135// CHECK-NEXT: }
133136// CHECK-NEXT: } // namespace detail
@@ -146,7 +149,7 @@ constexpr sycl::specialization_id same_name{7};
146149// CHECK-NEXT: namespace sycl {
147150// CHECK-NEXT: namespace detail {
148151// CHECK-NEXT: template<>
149- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
152+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
150153// CHECK-NEXT: return "____ZN12_GLOBAL__N_19same_nameE";
151154// CHECK-NEXT: }
152155// CHECK-NEXT: } // namespace detail
@@ -167,7 +170,7 @@ constexpr sycl::specialization_id same_name{8};
167170// CHECK-NEXT: namespace sycl {
168171// CHECK-NEXT: namespace detail {
169172// CHECK-NEXT: template<>
170- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
173+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
171174// CHECK-NEXT: return "____ZN12_GLOBAL__N_15inner9same_nameE";
172175// CHECK-NEXT: }
173176// CHECK-NEXT: } // namespace detail
@@ -191,7 +194,7 @@ constexpr sycl::specialization_id same_name{9};
191194// CHECK-NEXT: namespace sycl {
192195// CHECK-NEXT: namespace detail {
193196// CHECK-NEXT: template<>
194- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::inner::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
197+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::inner::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
195198// CHECK-NEXT: return "____ZN5inner12_GLOBAL__N_19same_nameE";
196199// CHECK-NEXT: }
197200// CHECK-NEXT: } // namespace detail
@@ -206,7 +209,7 @@ constexpr sycl::specialization_id same_name{10};
206209// CHECK-NEXT: namespace sycl {
207210// CHECK-NEXT: namespace detail {
208211// CHECK-NEXT: template<>
209- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::outer::same_name>() {
212+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::outer::same_name>() {
210213// CHECK-NEXT: return "____ZN5outerL9same_nameE";
211214// CHECK-NEXT: }
212215// CHECK-NEXT: } // namespace detail
@@ -227,7 +230,7 @@ constexpr sycl::specialization_id same_name{11};
227230// CHECK-NEXT: namespace sycl {
228231// CHECK-NEXT: namespace detail {
229232// CHECK-NEXT: template<>
230- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::outer::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
233+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::outer::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
231234// CHECK-NEXT: return "____ZN5outer12_GLOBAL__N_19same_nameE";
232235// CHECK-NEXT: }
233236// CHECK-NEXT: } // namespace detail
@@ -249,7 +252,7 @@ constexpr sycl::specialization_id same_name{12};
249252// CHECK-NEXT: namespace sycl {
250253// CHECK-NEXT: namespace detail {
251254// CHECK-NEXT: template<>
252- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::outer::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
255+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::outer::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
253256// CHECK-NEXT: return "____ZN5outer12_GLOBAL__N_15inner9same_nameE";
254257// CHECK-NEXT: }
255258// CHECK-NEXT: } // namespace detail
@@ -287,7 +290,7 @@ constexpr sycl::specialization_id same_name{13};
287290// CHECK-NEXT: namespace sycl {
288291// CHECK-NEXT: namespace detail {
289292// CHECK-NEXT: template<>
290- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::outer::__sycl_detail::__spec_id_shim_[[SHIM_ID_2]]()>() {
293+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::outer::__sycl_detail::__spec_id_shim_[[SHIM_ID_2]]()>() {
291294// CHECK-NEXT: return "____ZN5outer12_GLOBAL__N_15inner12_GLOBAL__N_19same_nameE";
292295// CHECK-NEXT: }
293296// CHECK-NEXT: } // namespace detail
@@ -312,7 +315,7 @@ constexpr sycl::specialization_id same_name{14};
312315// CHECK-NEXT: namespace sycl {
313316// CHECK-NEXT: namespace detail {
314317// CHECK-NEXT: template<>
315- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
318+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::__sycl_detail::__spec_id_shim_[[SHIM_ID]]()>() {
316319// CHECK-NEXT: return "____ZN12_GLOBAL__N_15outer9same_nameE";
317320// CHECK-NEXT: }
318321// CHECK-NEXT: } // namespace detail
@@ -342,7 +345,7 @@ constexpr sycl::specialization_id same_name{15};
342345// CHECK-NEXT: namespace sycl {
343346// CHECK-NEXT: namespace detail {
344347// CHECK-NEXT: template<>
345- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::__sycl_detail::__spec_id_shim_[[SHIM_ID2]]()>() {
348+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::__sycl_detail::__spec_id_shim_[[SHIM_ID2]]()>() {
346349// CHECK-NEXT: return "____ZN12_GLOBAL__N_15outer12_GLOBAL__N_19same_nameE";
347350// CHECK-NEXT: }
348351// CHECK-NEXT: } // namespace detail
@@ -372,7 +375,7 @@ constexpr sycl::specialization_id same_name{16};
372375// CHECK-NEXT: namespace sycl {
373376// CHECK-NEXT: namespace detail {
374377// CHECK-NEXT: template<>
375- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::__sycl_detail::__spec_id_shim_[[SHIM_ID2]]()>() {
378+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::__sycl_detail::__spec_id_shim_[[SHIM_ID2]]()>() {
376379// CHECK-NEXT: return "____ZN12_GLOBAL__N_15outer12_GLOBAL__N_15inner9same_nameE";
377380// CHECK-NEXT: }
378381// CHECK-NEXT: } // namespace detail
@@ -390,7 +393,7 @@ constexpr sycl::specialization_id same_name{17};
390393// CHECK-NEXT: namespace sycl {
391394// CHECK-NEXT: namespace detail {
392395// CHECK-NEXT: template<>
393- // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID <::outer::inner::same_name>() {
396+ // CHECK-NEXT: inline const char *get_spec_constant_symbolic_ID_impl <::outer::inner::same_name>() {
394397// CHECK-NEXT: return "____ZN5outer5innerL9same_nameE";
395398// CHECK-NEXT: }
396399// CHECK-NEXT: } // namespace detail
0 commit comments