// RUN: %clang_cc1 -ast-print -fsycl-is-device %s -o - | FileCheck %s template void WrappedInTemplate(T t) { (void)__builtin_sycl_unique_stable_name(T); (void)__builtin_sycl_unique_stable_name(typename T::type); (void)__builtin_sycl_unique_stable_name(decltype(t.foo())); } struct Type { using type = int; double foo(); }; void use() { WrappedInTemplate(Type{}); } // CHECK: template void WrappedInTemplate(T t) // CHECK: __builtin_sycl_unique_stable_name(T); // CHECK: __builtin_sycl_unique_stable_name(typename T::type); // CHECK: __builtin_sycl_unique_stable_name(decltype(t.foo())); // CHECK: template<> void WrappedInTemplate(Type t) // CHECK: __builtin_sycl_unique_stable_name(Type); // CHECK: __builtin_sycl_unique_stable_name(typename Type::type); // CHECK: __builtin_sycl_unique_stable_name(decltype(t.foo()));