Skip to content

Commit e433c32

Browse files
committed
[ser] Add ast tests for AvailabilityAttribute
1 parent 7848f77 commit e433c32

3 files changed

Lines changed: 44 additions & 1 deletion

File tree

tools/clang/test/HLSLFileCheck/hlsl/objects/HitObject/hitobject_make.hlsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %dxc -T lib_6_9 -E main %s
1+
// RUN: %dxc -T lib_6_9 -E main %s | FileCheck %s
22

33
// TODO: Implement lowering for dx::HitObject::MakeNop
44

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// RUN: %dxc -T lib_6_9 -E main %s -ast-dump-implicit | FileCheck %s
2+
3+
// CHECK: | | |-FunctionTemplateDecl {{[^ ]+}} <<invalid sloc>> <invalid sloc> MakeNop
4+
// CHECK-NEXT: | | | |-TemplateTypeParmDecl {{[^ ]+}} <<invalid sloc>> <invalid sloc> class TResult
5+
// CHECK-NEXT: | | | |-CXXMethodDecl {{[^ ]+}} <<invalid sloc>> <invalid sloc> implicit MakeNop 'TResult () const' static
6+
// CHECK-NEXT: | | | `-CXXMethodDecl {{[^ ]+}} <<invalid sloc>> <invalid sloc> used MakeNop 'dx::HitObject ()' static
7+
// CHECK-NEXT: | | | |-TemplateArgument type 'dx::HitObject'
8+
// CHECK-NEXT: | | | |-HLSLIntrinsicAttr {{[^ ]+}} <<invalid sloc>> Implicit "op" "" 328
9+
// CHECK-NEXT: | | | `-AvailabilityAttr {{[^ ]+}} <<invalid sloc>> Implicit 6.9 0 0 "HLSL Intrinsic availability limited by shader model."
10+
11+
[shader("raygeneration")]
12+
void main() {
13+
dx::HitObject hit;
14+
dx::HitObject::MakeNop();
15+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// RUN: %dxc -T lib_6_9 -E main %s -ast-dump-implicit | FileCheck %s
2+
3+
// CHECK: |-FunctionDecl {{[^ ]+}} <<invalid sloc>> <invalid sloc> implicit used MaybeReorderThread 'void (dx::HitObject)' extern
4+
// CHECK-NEXT: | |-ParmVarDecl {{[^ ]+}} <<invalid sloc>> <invalid sloc> HitObject 'dx::HitObject':'dx::HitObject'
5+
// CHECK-NEXT: | |-HLSLIntrinsicAttr {{[^ ]+}} <<invalid sloc>> Implicit "op" "" 329
6+
// CHECK-NEXT: | `-AvailabilityAttr {{[^ ]+}} <<invalid sloc>> Implicit 6.9 0 0 "HLSL Intrinsic availability limited by shader model."
7+
8+
// CHECK: |-FunctionDecl {{[^ ]+}} <<invalid sloc>> <invalid sloc> implicit used MaybeReorderThread 'void (dx::HitObject, unsigned int, unsigned int)' extern
9+
// CHECK-NEXT: | |-ParmVarDecl {{[^ ]+}} <<invalid sloc>> <invalid sloc> HitObject 'dx::HitObject':'dx::HitObject'
10+
// CHECK-NEXT: | |-ParmVarDecl {{[^ ]+}} <<invalid sloc>> <invalid sloc> CoherenceHint 'unsigned int'
11+
// CHECK-NEXT: | |-ParmVarDecl {{[^ ]+}} <<invalid sloc>> <invalid sloc> NumCoherenceHintBitsFromLSB 'unsigned int'
12+
// CHECK-NEXT: | |-HLSLIntrinsicAttr {{[^ ]+}} <<invalid sloc>> Implicit "op" "" 329
13+
// CHECK-NEXT: | `-AvailabilityAttr {{[^ ]+}} <<invalid sloc>> Implicit 6.9 0 0 "HLSL Intrinsic availability limited by shader model."
14+
15+
// CHECK: `-FunctionDecl {{[^ ]+}} <<invalid sloc>> <invalid sloc> implicit used MaybeReorderThread 'void (unsigned int, unsigned int)' extern
16+
// CHECK-NEXT: |-ParmVarDecl {{[^ ]+}} <<invalid sloc>> <invalid sloc> CoherenceHint 'unsigned int'
17+
// CHECK-NEXT: |-ParmVarDecl {{[^ ]+}} <<invalid sloc>> <invalid sloc> NumCoherenceHintBitsFromLSB 'unsigned int'
18+
// CHECK-NEXT: |-HLSLIntrinsicAttr {{[^ ]+}} <<invalid sloc>> Implicit "op" "" 329
19+
// CHECK-NEXT: `-AvailabilityAttr {{[^ ]+}} <<invalid sloc>> Implicit 6.9 0 0 "HLSL Intrinsic availability limited by shader model."
20+
21+
22+
[shader("raygeneration")]
23+
void main() {
24+
dx::HitObject hit;
25+
dx::MaybeReorderThread(hit);
26+
dx::MaybeReorderThread(hit, 0xf1, 3);
27+
dx::MaybeReorderThread(0xf2, 7);
28+
}

0 commit comments

Comments
 (0)