17
17
// case covers the full implementation of the template declaration and the
18
18
// instantiated specialization.
19
19
20
- // EMPTY: ClassTemplateDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> implicit [[RESOURCE]]
21
- // EMPTY-NEXT: TemplateTypeParmDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> typename depth 0 index 0 element_type
22
- // EMPTY-NEXT: ConceptSpecializationExpr 0x{{[0-9A-Fa-f]+ }} <<invalid sloc>> 'bool' Concept 0x{{[0-9A-Fa-f]+ }} '__is_typed_resource_element_compatible'
23
- // EMPTY-NEXT: ImplicitConceptSpecializationDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc>
20
+ // EMPTY: ClassTemplateDecl {{.*}} implicit [[RESOURCE]]
21
+ // EMPTY-NEXT: TemplateTypeParmDecl {{.*}} typename depth 0 index 0 element_type
22
+ // EMPTY-NEXT: ConceptSpecializationExpr {{.* }} 'bool' Concept {{.* }} '__is_typed_resource_element_compatible'
23
+ // EMPTY-NEXT: ImplicitConceptSpecializationDecl
24
24
// EMPTY-NEXT: TemplateArgument type 'type-parameter-0-0'
25
- // EMPTY-NEXT: TemplateTypeParmType 0x{{[0-9A-Fa-f]+}} 'type-parameter-0-0' dependent depth 0 index 0
26
- // EMPTY-NEXT: TemplateTypeParm 0x{{[0-9A-Fa-f]+}} depth 0 index 0
25
+ // EMPTY-NEXT: TemplateTypeParmType {{.*}} 'type-parameter-0-0' dependent depth 0 index 0
26
+ // EMPTY-NEXT: TemplateTypeParm {{.*}} depth 0 index 0
27
27
// EMPTY-NEXT: TemplateArgument type 'element_type':'type-parameter-0-0'
28
- // EMPTY-NEXT: TemplateTypeParmType 0x{{[0-9A-Fa-f]+}} 'element_type' dependent depth 0 index 0
29
- // EMPTY-NEXT: TemplateTypeParm 0x{{[0-9A-Fa-f]+}} 'element_type'
30
- // EMPTY-NEXT: CXXRecordDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> implicit <undeserialized declarations> class [[RESOURCE]]
31
- // EMPTY-NEXT: FinalAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit final
28
+ // EMPTY-NEXT: TemplateTypeParmType {{.*}} 'element_type' dependent depth 0 index 0
29
+ // EMPTY-NEXT: TemplateTypeParm {{.*}} 'element_type'
30
+ // EMPTY-NEXT: CXXRecordDecl {{.*}} implicit <undeserialized declarations> class [[RESOURCE]]
31
+ // EMPTY-NEXT: FinalAttr {{.*}} Implicit final
32
32
33
33
// There should be no more occurrences of the resource type
34
34
// EMPTY-NOT: {{[^[:alnum:]]}}[[RESOURCE]]
@@ -39,75 +39,75 @@ RESOURCE<float> Buffer;
39
39
40
40
#endif
41
41
42
- // CHECK: ClassTemplateDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> implicit [[RESOURCE]]
43
- // CHECK-NEXT: TemplateTypeParmDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> typename depth 0 index 0 element_type
44
- // CHECK-NEXT: ConceptSpecializationExpr 0x{{[0-9A-Fa-f]+ }} <<invalid sloc>> 'bool' Concept 0x{{[0-9A-Fa-f]+}} '__is_typed_resource_element_compatible'
45
- // CHECK-NEXT: ImplicitConceptSpecializationDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc>
42
+ // CHECK: ClassTemplateDecl {{.*}} implicit [[RESOURCE]]
43
+ // CHECK-NEXT: TemplateTypeParmDecl {{.*}} typename depth 0 index 0 element_type
44
+ // CHECK-NEXT: ConceptSpecializationExpr {{.* }} 'bool' Concept {{.*}} '__is_typed_resource_element_compatible'
45
+ // CHECK-NEXT: ImplicitConceptSpecializationDecl
46
46
// CHECK-NEXT: TemplateArgument type 'type-parameter-0-0'
47
- // CHECK-NEXT: TemplateTypeParmType 0x{{[0-9A-Fa-f]+}} 'type-parameter-0-0' dependent depth 0 index 0
48
- // CHECK-NEXT: TemplateTypeParm 0x{{[0-9A-Fa-f]+}} depth 0 index 0
47
+ // CHECK-NEXT: TemplateTypeParmType {{.*}} 'type-parameter-0-0' dependent depth 0 index 0
48
+ // CHECK-NEXT: TemplateTypeParm {{.*}} depth 0 index 0
49
49
// CHECK-NEXT: TemplateArgument type 'element_type':'type-parameter-0-0'
50
- // CHECK-NEXT: TemplateTypeParmType 0x{{[0-9A-Fa-f]+}} 'element_type' dependent depth 0 index 0
51
- // CHECK-NEXT: TemplateTypeParm 0x{{[0-9A-Fa-f]+}} 'element_type'
52
- // CHECK-NEXT: CXXRecordDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> implicit class [[RESOURCE]] definition
50
+ // CHECK-NEXT: TemplateTypeParmType {{.*}} 'element_type' dependent depth 0 index 0
51
+ // CHECK-NEXT: TemplateTypeParm {{.*}} 'element_type'
52
+ // CHECK-NEXT: CXXRecordDecl {{.*}} implicit class [[RESOURCE]] definition
53
53
54
- // CHECK: FinalAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit final
55
- // CHECK-NEXT: FieldDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> implicit __handle '__hlsl_resource_t
54
+ // CHECK: FinalAttr {{.*}} Implicit final
55
+ // CHECK-NEXT: FieldDecl {{.*}} implicit __handle '__hlsl_resource_t
56
56
// CHECK-UAV-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
57
57
// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]]
58
- // CHECK-NEXT: HLSLResourceAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit TypedBuffer
58
+ // CHECK-NEXT: HLSLResourceAttr {{.*}} Implicit TypedBuffer
59
59
60
- // CHECK: CXXMethodDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> operator[] 'const element_type &(unsigned int) const'
61
- // CHECK-NEXT: ParmVarDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> Index 'unsigned int'
62
- // CHECK-NEXT: CompoundStmt 0x{{[0-9A-Fa-f]+}} <<invalid sloc>>
63
- // CHECK-NEXT: ReturnStmt 0x{{[0-9A-Fa-f]+}} <<invalid sloc>>
64
- // CHECK-NEXT: UnaryOperator 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> 'element_type' prefix '*' cannot overflow
65
- // CHECK-NEXT: CallExpr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> 'element_type *'
66
- // CHECK-NEXT: DeclRefExpr 0x{{[0-9A-Fa-f]+ }} <<invalid sloc>> '<builtin fn type>' Function 0x{{[0-9A-Fa-f]+}} '__builtin_hlsl_resource_getpointer' 'void (...) noexcept'
67
- // CHECK-NEXT: MemberExpr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> '__hlsl_resource_t
60
+ // CHECK: CXXMethodDecl {{.*}} operator[] 'const element_type &(unsigned int) const'
61
+ // CHECK-NEXT: ParmVarDecl {{.*}} Index 'unsigned int'
62
+ // CHECK-NEXT: CompoundStmt
63
+ // CHECK-NEXT: ReturnStmt
64
+ // CHECK-NEXT: UnaryOperator {{.*}} 'element_type' prefix '*' cannot overflow
65
+ // CHECK-NEXT: CallExpr {{.*}} 'element_type *'
66
+ // CHECK-NEXT: DeclRefExpr {{.* }} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_getpointer' 'void (...) noexcept'
67
+ // CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t
68
68
// CHECK-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
69
69
// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]]
70
- // CHECK-SAME: ' lvalue .__handle 0x{{[0-9A-Fa-f]+}}
71
- // CHECK-NEXT: CXXThisExpr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> 'const [[RESOURCE]]<element_type>' lvalue implicit this
72
- // CHECK-NEXT: DeclRefExpr 0x{{[0-9A-Fa-f]+ }} <<invalid sloc>> 'unsigned int' ParmVar 0x{{[0-9A-Fa-f]+}} 'Index' 'unsigned int'
73
- // CHECK-NEXT: AlwaysInlineAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit always_inline
70
+ // CHECK-SAME: ' lvalue .__handle {{.*}}
71
+ // CHECK-NEXT: CXXThisExpr {{.*}} 'const [[RESOURCE]]<element_type>' lvalue implicit this
72
+ // CHECK-NEXT: DeclRefExpr {{.* }} 'unsigned int' ParmVar {{.*}} 'Index' 'unsigned int'
73
+ // CHECK-NEXT: AlwaysInlineAttr {{.*}} Implicit always_inline
74
74
75
- // CHECK-NEXT: CXXMethodDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> operator[] 'element_type &(unsigned int)'
76
- // CHECK-NEXT: ParmVarDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> Index 'unsigned int'
77
- // CHECK-NEXT: CompoundStmt 0x{{[0-9A-Fa-f]+}} <<invalid sloc>>
78
- // CHECK-NEXT: ReturnStmt 0x{{[0-9A-Fa-f]+}} <<invalid sloc>>
79
- // CHECK-NEXT: UnaryOperator 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> 'element_type' prefix '*' cannot overflow
80
- // CHECK-NEXT: CallExpr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> 'element_type *'
81
- // CHECK-NEXT: DeclRefExpr 0x{{[0-9A-Fa-f]+ }} <<invalid sloc>> '<builtin fn type>' Function 0x{{[0-9A-Fa-f]+}} '__builtin_hlsl_resource_getpointer' 'void (...) noexcept'
82
- // CHECK-NEXT: MemberExpr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> '__hlsl_resource_t
75
+ // CHECK-NEXT: CXXMethodDecl {{.*}} operator[] 'element_type &(unsigned int)'
76
+ // CHECK-NEXT: ParmVarDecl {{.*}} Index 'unsigned int'
77
+ // CHECK-NEXT: CompoundStmt
78
+ // CHECK-NEXT: ReturnStmt
79
+ // CHECK-NEXT: UnaryOperator {{.*}} 'element_type' prefix '*' cannot overflow
80
+ // CHECK-NEXT: CallExpr {{.*}} 'element_type *'
81
+ // CHECK-NEXT: DeclRefExpr {{.* }} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_getpointer' 'void (...) noexcept'
82
+ // CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t
83
83
// CHECK-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
84
84
// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]]
85
- // CHECK-SAME: ' lvalue .__handle 0x{{[0-9A-Fa-f]+}}
86
- // CHECK-NEXT: CXXThisExpr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> '[[RESOURCE]]<element_type>' lvalue implicit this
87
- // CHECK-NEXT: DeclRefExpr 0x{{[0-9A-Fa-f]+ }} <<invalid sloc>> 'unsigned int' ParmVar 0x{{[0-9A-Fa-f]+}} 'Index' 'unsigned int'
88
- // CHECK-NEXT: AlwaysInlineAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit always_inline
85
+ // CHECK-SAME: ' lvalue .__handle {{.*}}
86
+ // CHECK-NEXT: CXXThisExpr {{.*}} '[[RESOURCE]]<element_type>' lvalue implicit this
87
+ // CHECK-NEXT: DeclRefExpr {{.* }} 'unsigned int' ParmVar {{.*}} 'Index' 'unsigned int'
88
+ // CHECK-NEXT: AlwaysInlineAttr {{.*}} Implicit always_inline
89
89
90
- // CHECK-NEXT: CXXMethodDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> Load 'element_type (unsigned int)'
91
- // CHECK-NEXT: ParmVarDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> Index 'unsigned int'
92
- // CHECK-NEXT: CompoundStmt 0x{{[0-9A-Fa-f]+}} <<invalid sloc>>
93
- // CHECK-NEXT: ReturnStmt 0x{{[0-9A-Fa-f]+}} <<invalid sloc>>
94
- // CHECK-NEXT: UnaryOperator 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> 'element_type' prefix '*' cannot overflow
95
- // CHECK-NEXT: CallExpr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> 'element_type *'
96
- // CHECK-NEXT: DeclRefExpr 0x{{[0-9A-Fa-f]+ }} <<invalid sloc>> '<builtin fn type>' Function 0x{{[0-9A-Fa-f]+}} '__builtin_hlsl_resource_getpointer' 'void (...) noexcept'
97
- // CHECK-NEXT: MemberExpr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> '__hlsl_resource_t
90
+ // CHECK-NEXT: CXXMethodDecl {{.*}} Load 'element_type (unsigned int)'
91
+ // CHECK-NEXT: ParmVarDecl {{.*}} Index 'unsigned int'
92
+ // CHECK-NEXT: CompoundStmt
93
+ // CHECK-NEXT: ReturnStmt
94
+ // CHECK-NEXT: UnaryOperator {{.*}} 'element_type' prefix '*' cannot overflow
95
+ // CHECK-NEXT: CallExpr {{.*}} 'element_type *'
96
+ // CHECK-NEXT: DeclRefExpr {{.* }} '<builtin fn type>' Function {{.*}} '__builtin_hlsl_resource_getpointer' 'void (...) noexcept'
97
+ // CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t
98
98
// CHECK-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
99
99
// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]]
100
- // CHECK-SAME: ' lvalue .__handle 0x{{[0-9A-Fa-f]+}}
101
- // CHECK-NEXT: CXXThisExpr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> '[[RESOURCE]]<element_type>' lvalue implicit this
102
- // CHECK-NEXT: DeclRefExpr 0x{{[0-9A-Fa-f]+ }} <<invalid sloc>> 'unsigned int' ParmVar 0x{{[0-9A-Fa-f]+}} 'Index' 'unsigned int'
103
- // CHECK-NEXT: AlwaysInlineAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit always_inline
100
+ // CHECK-SAME: ' lvalue .__handle {{.*}}
101
+ // CHECK-NEXT: CXXThisExpr {{.*}} '[[RESOURCE]]<element_type>' lvalue implicit this
102
+ // CHECK-NEXT: DeclRefExpr {{.* }} 'unsigned int' ParmVar {{.*}} 'Index' 'unsigned int'
103
+ // CHECK-NEXT: AlwaysInlineAttr {{.*}} Implicit always_inline
104
104
105
- // CHECK: ClassTemplateSpecializationDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> class [[RESOURCE]] definition
105
+ // CHECK: ClassTemplateSpecializationDecl {{.*}} class [[RESOURCE]] definition
106
106
107
107
// CHECK: TemplateArgument type 'float'
108
- // CHECK-NEXT: BuiltinType 0x{{[0-9A-Fa-f]+}} 'float'
109
- // CHECK-NEXT: FinalAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit final
110
- // CHECK-NEXT: FieldDecl 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> <invalid sloc> implicit __handle '__hlsl_resource_t
108
+ // CHECK-NEXT: BuiltinType {{.*}} 'float'
109
+ // CHECK-NEXT: FinalAttr {{.*}} Implicit final
110
+ // CHECK-NEXT: FieldDecl {{.*}} implicit __handle '__hlsl_resource_t
111
111
// CHECK-UAV-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
112
112
// CHECK-SAME{LITERAL}: [[hlsl::contained_type(float)]]
113
- // CHECK-NEXT: HLSLResourceAttr 0x{{[0-9A-Fa-f]+}} <<invalid sloc>> Implicit TypedBuffer
113
+ // CHECK-NEXT: HLSLResourceAttr {{.*}} Implicit TypedBuffer
0 commit comments