Skip to content

Commit 12f4c71

Browse files
committed
[Clang][AST] Update PackExpansionExpr after 954ccee (#28525)
954ccee is able to print the concrete type instead of < dependent type >.
1 parent 3602c1b commit 12f4c71

File tree

2 files changed

+24
-24
lines changed

2 files changed

+24
-24
lines changed

clang/test/AST/ast-attr-add-ir-annotations-pack.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ void InstantiateClassWithAnnotFieldTemplates() {
5353
// CHECK-NEXT: ConstantExpr {{.*}} 'const char[6]' lvalue
5454
// CHECK-NEXT: value: LValue
5555
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
56-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
56+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'int'
5757
// CHECK-NEXT: DeclRefExpr {{.*}} 'int' NonTypeTemplateParm {{.*}} 'Is' 'int'
5858
// CHECK-NEXT: ClassTemplateSpecializationDecl {{.*}} struct ClassWithAnnotFieldTemplate1 definition
5959
// CHECK-NEXT: DefinitionData
@@ -147,7 +147,7 @@ void InstantiateClassWithAnnotFieldTemplates() {
147147
// CHECK-NEXT: ConstantExpr {{.*}} 'const char[6]' lvalue
148148
// CHECK-NEXT: value: LValue
149149
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
150-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
150+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'int'
151151
// CHECK-NEXT: DeclRefExpr {{.*}} 'int' NonTypeTemplateParm {{.*}} 'Is' 'int'
152152
// CHECK-NEXT: ClassTemplateSpecializationDecl {{.*}} struct ClassWithAnnotFieldTemplate2 definition
153153
// CHECK-NEXT: DefinitionData
@@ -232,7 +232,7 @@ void InstantiateClassWithAnnotFieldTemplates() {
232232
// CHECK-NEXT: CXXRecordDecl {{.*}} implicit struct ClassWithAnnotFieldTemplate3
233233
// CHECK-NEXT: FieldDecl {{.*}} ptr 'int *'
234234
// CHECK-NEXT: SYCLAddIRAnnotationsMemberAttr
235-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
235+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
236236
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Names' 'const char *'
237237
// CHECK-NEXT: ConstantExpr {{.*}} 'int'
238238
// CHECK-NEXT: value: Int 1
@@ -334,7 +334,7 @@ void InstantiateClassWithAnnotFieldTemplates() {
334334
// CHECK-NEXT: InitListExpr {{.*}} 'void'
335335
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr1"
336336
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
337-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
337+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
338338
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Names' 'const char *'
339339
// CHECK-NEXT: ConstantExpr {{.*}} 'int'
340340
// CHECK-NEXT: value: Int 1
@@ -436,7 +436,7 @@ void InstantiateClassWithAnnotFieldTemplates() {
436436
// CHECK-NEXT: CXXRecordDecl {{.*}} implicit struct ClassWithAnnotFieldTemplate5
437437
// CHECK-NEXT: FieldDecl {{.*}} ptr 'int *'
438438
// CHECK-NEXT: SYCLAddIRAnnotationsMemberAttr
439-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
439+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
440440
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Strs' 'const char *'
441441
// CHECK-NEXT: ClassTemplateSpecializationDecl {{.*}} struct ClassWithAnnotFieldTemplate5 definition
442442
// CHECK-NEXT: DefinitionData
@@ -636,7 +636,7 @@ void InstantiateClassWithAnnotFieldTemplates() {
636636
// CHECK-NEXT: InitListExpr {{.*}} 'void'
637637
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr1"
638638
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
639-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
639+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
640640
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Strs' 'const char *'
641641
// CHECK-NEXT: ClassTemplateSpecializationDecl {{.*}} struct ClassWithAnnotFieldTemplate6 definition
642642
// CHECK-NEXT: DefinitionData

clang/test/AST/ast-attr-add-ir-attributes-packs.cpp

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ void InstantiateFunctionTemplates() {
3232
// CHECK-NEXT: ConstantExpr {{.*}} 'const char[6]' lvalue
3333
// CHECK-NEXT: value: LValue
3434
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
35-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
35+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'int'
3636
// CHECK-NEXT: DeclRefExpr {{.*}} 'int' NonTypeTemplateParm {{.*}} 'Is' 'int'
3737
// CHECK-NEXT: FunctionDecl {{.*}} used FunctionTemplate1 'void ()'
3838
// CHECK-NEXT: TemplateArgument pack
@@ -90,7 +90,7 @@ void InstantiateFunctionTemplates() {
9090
// CHECK-NEXT: ConstantExpr {{.*}} 'const char[6]' lvalue
9191
// CHECK-NEXT: value: LValue
9292
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
93-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
93+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'int'
9494
// CHECK-NEXT: DeclRefExpr {{.*}} 'int' NonTypeTemplateParm {{.*}} 'Is' 'int'
9595
// CHECK-NEXT: FunctionDecl {{.*}} used FunctionTemplate2 'void ()'
9696
// CHECK-NEXT: TemplateArgument pack
@@ -139,7 +139,7 @@ void InstantiateFunctionTemplates() {
139139
// CHECK-NEXT: FunctionDecl {{.*}} FunctionTemplate3 'void ()'
140140
// CHECK-NEXT: CompoundStmt
141141
// CHECK-NEXT: SYCLAddIRAttributesFunctionAttr
142-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
142+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
143143
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Names' 'const char *'
144144
// CHECK-NEXT: ConstantExpr {{.*}} 'int'
145145
// CHECK-NEXT: value: Int 1
@@ -205,7 +205,7 @@ void InstantiateFunctionTemplates() {
205205
// CHECK-NEXT: InitListExpr {{.*}} 'void'
206206
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr1"
207207
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
208-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
208+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
209209
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Names' 'const char *'
210210
// CHECK-NEXT: ConstantExpr {{.*}} 'int'
211211
// CHECK-NEXT: value: Int 1
@@ -271,7 +271,7 @@ void InstantiateFunctionTemplates() {
271271
// CHECK-NEXT: FunctionDecl {{.*}} FunctionTemplate5 'void ()'
272272
// CHECK-NEXT: CompoundStmt
273273
// CHECK-NEXT: SYCLAddIRAttributesFunctionAttr
274-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
274+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
275275
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Strs' 'const char *'
276276
// CHECK-NEXT: FunctionDecl {{.*}} used FunctionTemplate5 'void ()'
277277
// CHECK-NEXT: TemplateArgument pack
@@ -407,7 +407,7 @@ void InstantiateFunctionTemplates() {
407407
// CHECK-NEXT: InitListExpr {{.*}} 'void'
408408
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr1"
409409
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
410-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
410+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
411411
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Strs' 'const char *'
412412
// CHECK-NEXT: FunctionDecl {{.*}} used FunctionTemplate6 'void ()'
413413
// CHECK-NEXT: TemplateArgument pack
@@ -572,7 +572,7 @@ template <const char *...Strs> struct [[__sycl_detail__::add_ir_attributes_globa
572572
// CHECK-NEXT: ConstantExpr {{.*}} 'const char[6]' lvalue
573573
// CHECK-NEXT: value: LValue
574574
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
575-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
575+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'int'
576576
// CHECK-NEXT: DeclRefExpr {{.*}} 'int' NonTypeTemplateParm {{.*}} 'Is' 'int'
577577
// CHECK-NEXT: CXXRecordDecl {{.*}} implicit struct GlobalVarStructTemplate1
578578
// CHECK-NEXT: ClassTemplateSpecializationDecl {{.*}} struct GlobalVarStructTemplate1 definition
@@ -663,7 +663,7 @@ GlobalVarStructTemplate1<1, 2> InstantiatedGV2;
663663
// CHECK-NEXT: ConstantExpr {{.*}} 'const char[6]' lvalue
664664
// CHECK-NEXT: value: LValue
665665
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
666-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
666+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'int'
667667
// CHECK-NEXT: DeclRefExpr {{.*}} 'int' NonTypeTemplateParm {{.*}} 'Is' 'int'
668668
// CHECK-NEXT: CXXRecordDecl {{.*}} implicit struct GlobalVarStructTemplate2
669669
// CHECK-NEXT: ClassTemplateSpecializationDecl {{.*}} struct GlobalVarStructTemplate2 definition
@@ -745,7 +745,7 @@ GlobalVarStructTemplate2<1, 2> InstantiatedGV4;
745745
// CHECK-NEXT: MoveAssignment
746746
// CHECK-NEXT: Destructor
747747
// CHECK-NEXT: SYCLAddIRAttributesGlobalVariableAttr
748-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
748+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
749749
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Names' 'const char *'
750750
// CHECK-NEXT: ConstantExpr {{.*}} 'int'
751751
// CHECK-NEXT: value: Int 1
@@ -844,7 +844,7 @@ GlobalVarStructTemplate3<AttrName1, AttrName2> InstantiatedGV6;
844844
// CHECK-NEXT: InitListExpr {{.*}} 'void'
845845
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr1"
846846
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
847-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
847+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
848848
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Names' 'const char *'
849849
// CHECK-NEXT: ConstantExpr {{.*}} 'int'
850850
// CHECK-NEXT: value: Int 1
@@ -943,7 +943,7 @@ GlobalVarStructTemplate4<AttrName1, AttrName2> InstantiatedGV8;
943943
// CHECK-NEXT: MoveAssignment
944944
// CHECK-NEXT: Destructor
945945
// CHECK-NEXT: SYCLAddIRAttributesGlobalVariableAttr
946-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
946+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
947947
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Strs' 'const char *'
948948
// CHECK-NEXT: CXXRecordDecl {{.*}} implicit struct GlobalVarStructTemplate5
949949
// CHECK-NEXT: ClassTemplateSpecializationDecl {{.*}} struct GlobalVarStructTemplate5 definition
@@ -1138,7 +1138,7 @@ GlobalVarStructTemplate5<AttrName1, AttrName2, AttrName3, AttrVal1, AttrVal2> In
11381138
// CHECK-NEXT: InitListExpr {{.*}} 'void'
11391139
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr1"
11401140
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
1141-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
1141+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
11421142
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Strs' 'const char *'
11431143
// CHECK-NEXT: CXXRecordDecl {{.*}} implicit struct GlobalVarStructTemplate6
11441144
// CHECK-NEXT: ClassTemplateSpecializationDecl {{.*}} struct GlobalVarStructTemplate6 definition
@@ -1372,7 +1372,7 @@ void InstantiateSpecialClassStructTemplates() {
13721372
// CHECK-NEXT: ConstantExpr {{.*}} 'const char[6]' lvalue
13731373
// CHECK-NEXT: value: LValue
13741374
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
1375-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
1375+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'int'
13761376
// CHECK-NEXT: DeclRefExpr {{.*}} 'int' NonTypeTemplateParm {{.*}} 'Is' 'int'
13771377
// CHECK-NEXT: CompoundStmt
13781378
// CHECK-NEXT: ClassTemplateSpecializationDecl {{.*}} struct SpecialClassStructTemplate1 definition
@@ -1473,7 +1473,7 @@ void InstantiateSpecialClassStructTemplates() {
14731473
// CHECK-NEXT: ConstantExpr {{.*}} 'const char[6]' lvalue
14741474
// CHECK-NEXT: value: LValue
14751475
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
1476-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
1476+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'int'
14771477
// CHECK-NEXT: DeclRefExpr {{.*}} 'int' NonTypeTemplateParm {{.*}} 'Is' 'int'
14781478
// CHECK-NEXT: CompoundStmt
14791479
// CHECK-NEXT: ClassTemplateSpecializationDecl {{.*}} struct SpecialClassStructTemplate2 definition
@@ -1565,7 +1565,7 @@ void InstantiateSpecialClassStructTemplates() {
15651565
// CHECK-NEXT: CXXMethodDecl {{.*}} __init 'void (int)'
15661566
// CHECK-NEXT: ParmVarDecl {{.*}} x 'int'
15671567
// CHECK-NEXT: SYCLAddIRAttributesKernelParameterAttr
1568-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
1568+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
15691569
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Names' 'const char *'
15701570
// CHECK-NEXT: ConstantExpr {{.*}} 'int'
15711571
// CHECK-NEXT: value: Int 1
@@ -1674,7 +1674,7 @@ void InstantiateSpecialClassStructTemplates() {
16741674
// CHECK-NEXT: InitListExpr {{.*}} 'void'
16751675
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr1"
16761676
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
1677-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
1677+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
16781678
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Names' 'const char *'
16791679
// CHECK-NEXT: ConstantExpr {{.*}} 'int'
16801680
// CHECK-NEXT: value: Int 1
@@ -1783,7 +1783,7 @@ void InstantiateSpecialClassStructTemplates() {
17831783
// CHECK-NEXT: CXXMethodDecl {{.*}} __init 'void (int)'
17841784
// CHECK-NEXT: ParmVarDecl {{.*}} x 'int'
17851785
// CHECK-NEXT: SYCLAddIRAttributesKernelParameterAttr
1786-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
1786+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
17871787
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Strs' 'const char *'
17881788
// CHECK-NEXT: CompoundStmt
17891789
// CHECK-NEXT: ClassTemplateSpecializationDecl {{.*}} struct SpecialClassStructTemplate5 definition
@@ -1994,7 +1994,7 @@ void InstantiateSpecialClassStructTemplates() {
19941994
// CHECK-NEXT: InitListExpr {{.*}} 'void'
19951995
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr1"
19961996
// CHECK-NEXT: StringLiteral {{.*}} 'const char[6]' lvalue "Attr3"
1997-
// CHECK-NEXT: PackExpansionExpr {{.*}} '<dependent type>'
1997+
// CHECK-NEXT: PackExpansionExpr {{.*}} 'const char *'
19981998
// CHECK-NEXT: DeclRefExpr {{.*}} 'const char *' NonTypeTemplateParm {{.*}} 'Strs' 'const char *'
19991999
// CHECK-NEXT: CompoundStmt
20002000
// CHECK-NEXT: ClassTemplateSpecializationDecl {{.*}} struct SpecialClassStructTemplate6 definition

0 commit comments

Comments
 (0)