brintos

brintos / llvm-project-archived public Read only

0
0
Text · 870 B · b55d01a Raw
29 lines · cpp
1// RUN: %clang_cc1 -ast-print -fsycl-is-device %s -o - | FileCheck %s2 3template <typename T>4void WrappedInTemplate(T t) {5  (void)__builtin_sycl_unique_stable_name(T);6  (void)__builtin_sycl_unique_stable_name(typename T::type);7  (void)__builtin_sycl_unique_stable_name(decltype(t.foo()));8}9 10struct Type {11  using type = int;12 13  double foo();14};15 16void use() {17  WrappedInTemplate(Type{});18}19 20// CHECK: template <typename T> void WrappedInTemplate(T t)21// CHECK: __builtin_sycl_unique_stable_name(T);22// CHECK: __builtin_sycl_unique_stable_name(typename T::type);23// CHECK: __builtin_sycl_unique_stable_name(decltype(t.foo()));24 25// CHECK: template<> void WrappedInTemplate<Type>(Type t)26// CHECK: __builtin_sycl_unique_stable_name(Type);27// CHECK: __builtin_sycl_unique_stable_name(typename Type::type);28// CHECK: __builtin_sycl_unique_stable_name(decltype(t.foo()));29