xref: /llvm-project/clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl (revision 4818dd33d84fcf41c08419a9960cadd473d536a9)
1// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library -x hlsl -ast-dump -o - %s | FileCheck %s
2
3// CHECK: -ClassTemplateSpecializationDecl 0x{{[0-9a-f]+}} <<invalid sloc>> <invalid sloc> class RWBuffer definition implicit_instantiation
4// CHECK: -TemplateArgument type 'float'
5// CHECK: `-BuiltinType 0x{{[0-9a-f]+}} 'float'
6// CHECK: -FieldDecl 0x{{[0-9a-f]+}} <<invalid sloc>> <invalid sloc> implicit __handle '__hlsl_resource_t
7// CHECK-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
8// CHECK-SAME{LITERAL}: [[hlsl::contained_type(float)]]
9// CHECK: -HLSLResourceAttr 0x{{[0-9a-f]+}} <<invalid sloc>> Implicit TypedBuffer
10RWBuffer<float> Buffer1;
11
12// CHECK: -ClassTemplateSpecializationDecl 0x{{[0-9a-f]+}} <<invalid sloc>> <invalid sloc> class RasterizerOrderedBuffer definition implicit_instantiation
13// CHECK: -TemplateArgument type 'vector<float, 4>'
14// CHECK: `-ExtVectorType 0x{{[0-9a-f]+}} 'vector<float, 4>' 4
15// CHECK: `-BuiltinType 0x{{[0-9a-f]+}} 'float'
16// CHECK: -FieldDecl 0x{{[0-9a-f]+}} <<invalid sloc>> <invalid sloc> implicit __handle '__hlsl_resource_t
17// CHECK-SAME{LITERAL}: [[hlsl::resource_class(UAV)]
18// CHECK-SAME{LITERAL}: [[hlsl::is_rov]]
19// CHECK-SAME{LITERAL}: [[hlsl::contained_type(vector<float, 4>)]]
20// CHECK: -HLSLResourceAttr 0x{{[0-9a-f]+}} <<invalid sloc>> Implicit TypedBuffer
21RasterizerOrderedBuffer<vector<float, 4> > BufferArray3[4];
22