xref: /llvm-project/clang/test/ParserHLSL/hlsl_raw_buffer_attr.hlsl (revision b55c52c047a167f42abbde9a33356cfb96b82c7f)
1// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.0-compute -x hlsl -ast-dump -o - %s | FileCheck %s
2
3// CHECK: CXXRecordDecl 0x{{[0-9a-f]+}} {{.*}} struct MyBuffer definition
4// CHECK: FieldDecl 0x{{[0-9a-f]+}} <line:[[# @LINE + 4]]:3, col:72> col:72 h1 '__hlsl_resource_t
5// CHECK-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
6// CHECK-SAME{LITERAL}: [[hlsl::raw_buffer]]
7struct MyBuffer {
8  __hlsl_resource_t [[hlsl::resource_class(UAV)]] [[hlsl::raw_buffer]] h1;
9};
10
11// CHECK: VarDecl 0x{{[0-9a-f]+}} <line:[[# @LINE + 3]]:1, col:70> col:70 h2 '__hlsl_resource_t
12// CHECK-SAME{LITERAL}: [[hlsl::resource_class(SRV)]]
13// CHECK-SAME{LITERAL}: [[hlsl::raw_buffer]]
14__hlsl_resource_t [[hlsl::raw_buffer]] [[hlsl::resource_class(SRV)]] h2;
15
16// CHECK: FunctionDecl 0x{{[0-9a-f]+}} <line:[[# @LINE + 4]]:1, line:[[# @LINE + 6]]:1> line:[[# @LINE + 4]]:6 f 'void ()
17// CHECK: VarDecl 0x{{[0-9a-f]+}} <col:3, col:72> col:72 h3 '__hlsl_resource_t
18// CHECK-SAME{LITERAL}: [[hlsl::resource_class(UAV)]]
19// CHECK-SAME{LITERAL}: [[hlsl::raw_buffer]]
20void f() {
21  __hlsl_resource_t [[hlsl::resource_class(UAV)]] [[hlsl::raw_buffer]] h3;
22}
23