11// RUN: %clang_cc1 -Wno-hlsl-implicit-binding -triple dxil-pc-shadermodel6.0-library -x hlsl -ast-dump -DEMPTY \ 
22// RUN:   -DRESOURCE=RWBuffer %s | FileCheck -DRESOURCE=RWBuffer -check-prefix=EMPTY %s 
33// 
4+ // RUN: %clang_cc1 -Wno-hlsl-implicit-binding -triple dxil-pc-shadermodel6.0-library -x hlsl -ast-dump -DEMPTY \ 
5+ // RUN:   -DRESOURCE=Buffer %s | FileCheck -DRESOURCE=Buffer -check-prefix=EMPTY %s 
6+ // 
47// RUN: %clang_cc1 -Wno-hlsl-implicit-binding -triple dxil-pc-shadermodel6.0-library -x hlsl -ast-dump \ 
58// RUN:   -DRESOURCE=RWBuffer %s | FileCheck -DRESOURCE=RWBuffer \ 
69// RUN:   -check-prefixes=CHECK,CHECK-UAV %s 
10+ // 
11+ // RUN: %clang_cc1 -Wno-hlsl-implicit-binding -triple dxil-pc-shadermodel6.0-library -x hlsl -ast-dump \ 
12+ // RUN:   -DRESOURCE=Buffer %s | FileCheck -DRESOURCE=Buffer \ 
13+ // RUN:   -check-prefixes=CHECK,CHECK-SRV %s 
714
8- // TODO: Add AST tests for Buffer and  RasterizerOrderedBuffer here 
15+ // TODO: Add AST tests for RasterizerOrderedBuffer here 
916
1017// This test tests two different AST generations each typed buffer. 
1118// The "EMPTY" test mode verifies the AST generated by forward declaration 
@@ -54,6 +61,7 @@ RESOURCE<float> Buffer;
5461// CHECK: FinalAttr {{.*}} Implicit final 
5562// CHECK-NEXT: FieldDecl {{.*}} implicit __handle '__hlsl_resource_t 
5663// CHECK-UAV-SAME{LITERAL}: [[hlsl::resource_class(UAV)]] 
64+ // CHECK-SRV-SAME{LITERAL}: [[hlsl::resource_class(SRV)]] 
5765// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] 
5866
5967// Default constructor 
@@ -125,7 +133,8 @@ RESOURCE<float> Buffer;
125133// CHECK-NEXT: ImplicitCastExpr {{.*}} <BuiltinFnToFnPtr> 
126134// CHECK-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}}  '__builtin_hlsl_resource_getpointer' 'void (...) noexcept' 
127135// CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t 
128- // CHECK-SAME{LITERAL}: [[hlsl::resource_class(UAV)]] 
136+ // CHECK-UAV-SAME{LITERAL}: [[hlsl::resource_class(UAV)]] 
137+ // CHECK-SRV-SAME{LITERAL}: [[hlsl::resource_class(SRV)]] 
129138// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] 
130139// CHECK-SAME: ' lvalue .__handle {{.*}} 
131140// CHECK-NEXT: CXXThisExpr {{.*}} 'const [[RESOURCE]]<element_type>' lvalue implicit this 
@@ -141,7 +150,8 @@ RESOURCE<float> Buffer;
141150// CHECK-NEXT: ImplicitCastExpr {{.*}} <BuiltinFnToFnPtr> 
142151// CHECK-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}}  '__builtin_hlsl_resource_getpointer' 'void (...) noexcept' 
143152// CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t 
144- // CHECK-SAME{LITERAL}: [[hlsl::resource_class(UAV)]] 
153+ // CHECK-UAV-SAME{LITERAL}: [[hlsl::resource_class(UAV)]] 
154+ // CHECK-SRV-SAME{LITERAL}: [[hlsl::resource_class(SRV)]] 
145155// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] 
146156// CHECK-SAME: ' lvalue .__handle {{.*}} 
147157// CHECK-NEXT: CXXThisExpr {{.*}} '[[RESOURCE]]<element_type>' lvalue implicit this 
@@ -159,7 +169,8 @@ RESOURCE<float> Buffer;
159169// CHECK-NEXT: ImplicitCastExpr {{.*}} <BuiltinFnToFnPtr> 
160170// CHECK-NEXT: DeclRefExpr {{.*}} '<builtin fn type>' Function {{.*}}  '__builtin_hlsl_resource_getpointer' 'void (...) noexcept' 
161171// CHECK-NEXT: MemberExpr {{.*}} '__hlsl_resource_t 
162- // CHECK-SAME{LITERAL}: [[hlsl::resource_class(UAV)]] 
172+ // CHECK-UAV-SAME{LITERAL}: [[hlsl::resource_class(UAV)]] 
173+ // CHECK-SRV-SAME{LITERAL}: [[hlsl::resource_class(SRV)]] 
163174// CHECK-SAME{LITERAL}: [[hlsl::contained_type(element_type)]] 
164175// CHECK-SAME: ' lvalue .__handle {{.*}} 
165176// CHECK-NEXT: CXXThisExpr {{.*}} '[[RESOURCE]]<element_type>' lvalue implicit this 
@@ -173,4 +184,5 @@ RESOURCE<float> Buffer;
173184// CHECK-NEXT: FinalAttr {{.*}} Implicit final 
174185// CHECK-NEXT: FieldDecl {{.*}} implicit referenced __handle '__hlsl_resource_t 
175186// CHECK-UAV-SAME{LITERAL}: [[hlsl::resource_class(UAV)]] 
187+ // CHECK-SRV-SAME{LITERAL}: [[hlsl::resource_class(SRV)]] 
176188// CHECK-SAME{LITERAL}: [[hlsl::contained_type(float)]] 
0 commit comments