Skip to content

Commit 0f85b25

Browse files
committed
[clang] NFC: add a test case for TemplateName canonical type print issue
1 parent 243ffbd commit 0f85b25

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

clang/test/SemaTemplate/deduction-guide.cpp

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,3 +299,34 @@ using AFoo = Foo<G<U>>;
299299
// CHECK-NEXT: `-ParmVarDecl {{.*}} 'G<int>'
300300

301301
AFoo aa(G<int>{});
302+
303+
namespace TTP {
304+
template<typename> struct A {};
305+
306+
template<class T> struct B {
307+
template<template <class> typename TT> B(TT<T>);
308+
};
309+
310+
B b(A<int>{});
311+
} // namespace TTP
312+
313+
// CHECK-LABEL: Dumping TTP::<deduction guide for B>:
314+
// CHECK-NEXT: FunctionTemplateDecl 0x{{.+}} <{{.+}}:[[# @LINE - 7]]:5, col:51>
315+
// CHECK-NEXT: |-TemplateTypeParmDecl {{.+}} class depth 0 index 0 T{{$}}
316+
// CHECK-NEXT: |-TemplateTemplateParmDecl {{.+}} depth 0 index 1 TT{{$}}
317+
// CHECK-NEXT: | `-TemplateTypeParmDecl {{.+}} class depth 1 index 0{{$}}
318+
// CHECK-NEXT: |-CXXDeductionGuideDecl {{.+}} 'auto (<T>) -> B<T>'{{$}}
319+
// CHECK-NEXT: | `-ParmVarDecl {{.+}} '<T>'{{$}}
320+
// CHECK-NEXT: `-CXXDeductionGuideDecl {{.+}} 'auto (A<int>) -> TTP::B<int>'
321+
// CHECK-NEXT: |-TemplateArgument type 'int'
322+
// CHECK-NEXT: | `-BuiltinType {{.+}} 'int'{{$}}
323+
// CHECK-NEXT: |-TemplateArgument template A
324+
// CHECK-NEXT: `-ParmVarDecl {{.+}} 'A<int>':'TTP::A<int>'{{$}}
325+
// CHECK-NEXT: FunctionProtoType {{.+}} 'auto (<T>) -> B<T>' dependent trailing_return cdecl{{$}}
326+
// CHECK-NEXT: |-InjectedClassNameType {{.+}} 'B<T>' dependent{{$}}
327+
// CHECK-NEXT: | `-CXXRecord {{.+}} 'B'{{$}}
328+
// CHECK-NEXT: `-ElaboratedType {{.+}} '<T>' sugar dependent{{$}}
329+
// CHECK-NEXT: `-TemplateSpecializationType {{.+}} '<T>' dependent {{$}}
330+
// CHECK-NEXT: `-TemplateArgument type 'T'{{$}}
331+
// CHECK-NEXT: `-TemplateTypeParmType {{.+}} 'T' dependent depth 0 index 0{{$}}
332+
// CHECK-NEXT: `-TemplateTypeParm {{.+}} 'T'{{$}}

0 commit comments

Comments
 (0)