|
1 |
| -// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.0-compute -x hlsl -ast-dump -disable-llvm-passes -o - -hlsl-entry main %s | FileCheck %s |
2 |
| - |
3 |
| -class Pair { |
4 |
| - int First; |
5 |
| - int Second; |
6 |
| - |
7 |
| - int getFirst() { |
8 |
| - return this.First; |
9 |
| - } |
10 |
| - |
11 |
| - int getSecond() { |
12 |
| - return Second; |
13 |
| - } |
14 |
| -}; |
15 |
| - |
16 |
| -class PairInfo : Pair { |
17 |
| - int Sum; |
18 |
| - |
19 |
| - int getSum() { |
20 |
| - return this.First + Second; |
21 |
| - } |
22 |
| -}; |
23 |
| - |
24 |
| -[numthreads(1, 1, 1)] |
25 |
| -void main() { |
26 |
| - Pair Vals = {1, 2}; |
27 |
| - Vals.First = Vals.getFirst(); |
28 |
| - Vals.Second = Vals.getSecond(); |
29 |
| - |
30 |
| - PairInfo ValsInfo; |
31 |
| - ValsInfo.First = Vals.First; |
32 |
| - ValsInfo.Second = Vals.Second; |
33 |
| - ValsInfo.Sum = ValsInfo.getSum(); |
34 |
| - |
35 |
| -} |
36 |
| - |
37 |
| -// CHECK: -CXXMethodDecl 0x{{[0-9A-Fa-f]+}} <line:7:3, line:9:3> line:7:7 used getFirst 'int ()' implicit-inline |
38 |
| -// CHECK-NEXT:`-CompoundStmt 0x{{[0-9A-Fa-f]+}} <col:18, line:9:3> |
39 |
| -// CHECK-NEXT:`-ReturnStmt 0x{{[0-9A-Fa-f]+}} <line:8:4, col:16> |
40 |
| -// CHECK-NEXT:`-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:11, col:16> 'int' <LValueToRValue> |
41 |
| -// CHECK-NEXT:`-MemberExpr 0x{{[0-9A-Fa-f]+}} <col:11, col:16> 'int' lvalue .First 0x{{[0-9A-Fa-f]+}} |
42 |
| -// CHECK-NEXT:`-CXXThisExpr 0x{{[0-9A-Fa-f]+}} <col:11> 'Pair' lvalue this |
43 |
| -// CHECK-NEXT:-CXXMethodDecl 0x{{[0-9A-Fa-f]+}} <line:11:3, line:13:3> line:11:7 used getSecond 'int ()' implicit-inline |
44 |
| -// CHECK-NEXT:`-CompoundStmt 0x{{[0-9A-Fa-f]+}} <col:19, line:13:3> |
45 |
| -// CHECK-NEXT:`-ReturnStmt 0x{{[0-9A-Fa-f]+}} <line:12:5, col:12> |
46 |
| -// CHECK-NEXT:`-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:12> 'int' <LValueToRValue> |
47 |
| -// CHECK-NEXT:`-MemberExpr 0x{{[0-9A-Fa-f]+}} <col:12> 'int' lvalue .Second 0x{{[0-9A-Fa-f]+}} |
48 |
| -// CHECK-NEXT:`-CXXThisExpr 0x{{[0-9A-Fa-f]+}} <col:12> 'Pair' lvalue implicit this |
49 |
| - |
50 |
| - |
51 |
| -// CHECK: CXXMethodDecl 0x{{[0-9A-Fa-f]+}} <line:19:3, line:21:3> line:19:7 used getSum 'int ()' implicit-inline |
52 |
| -// CHECK-NEXT:`-CompoundStmt 0x{{[0-9A-Fa-f]+}} <col:16, line:21:3> |
53 |
| -// CHECK-NEXT:`-ReturnStmt 0x{{[0-9A-Fa-f]+}} <line:20:5, col:25> |
54 |
| -// CHECK-NEXT:`-BinaryOperator 0x{{[0-9A-Fa-f]+}} <col:12, col:25> 'int' '+' |
55 |
| -// CHECK-NEXT:-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:12, col:17> 'int' <LValueToRValue> |
56 |
| -// CHECK-NEXT:`-MemberExpr 0x{{[0-9A-Fa-f]+}} <col:12, col:17> 'int' lvalue .First 0x{{[0-9A-Fa-f]+}} |
57 |
| -// CHECK-NEXT:`-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:12> 'Pair' lvalue <UncheckedDerivedToBase (Pair)> |
58 |
| -// CHECK-NEXT:`-CXXThisExpr 0x{{[0-9A-Fa-f]+}} <col:12> 'PairInfo' lvalue this |
59 |
| -// CHECK-NEXT:`-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:25> 'int' <LValueToRValue> |
60 |
| -// CHECK-NEXT:`-MemberExpr 0x{{[0-9A-Fa-f]+}} <col:25> 'int' lvalue .Second 0x{{[0-9A-Fa-f]+}} |
61 |
| -// CHECK-NEXT:`-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:25> 'Pair' lvalue <UncheckedDerivedToBase (Pair)> |
62 |
| -// CHECK-NEXT:`-CXXThisExpr 0x{{[0-9A-Fa-f]+}} <col:25> 'PairInfo' lvalue implicit this |
| 1 | +// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.0-compute -x hlsl -ast-dump -disable-llvm-passes -o - -hlsl-entry main %s | FileCheck %s |
| 2 | + |
| 3 | +class Pair { |
| 4 | + int First; |
| 5 | + int Second; |
| 6 | + |
| 7 | + int getFirst() { |
| 8 | + return this.First; |
| 9 | + } |
| 10 | + |
| 11 | + int getSecond() { |
| 12 | + return Second; |
| 13 | + } |
| 14 | +}; |
| 15 | + |
| 16 | +class PairInfo : Pair { |
| 17 | + int Sum; |
| 18 | + |
| 19 | + int getSum() { |
| 20 | + return this.First + Second; |
| 21 | + } |
| 22 | +}; |
| 23 | + |
| 24 | +[numthreads(1, 1, 1)] |
| 25 | +void main() { |
| 26 | + Pair Vals = {1, 2}; |
| 27 | + Vals.First = Vals.getFirst(); |
| 28 | + Vals.Second = Vals.getSecond(); |
| 29 | + |
| 30 | + PairInfo ValsInfo; |
| 31 | + ValsInfo.First = Vals.First; |
| 32 | + ValsInfo.Second = Vals.Second; |
| 33 | + ValsInfo.Sum = ValsInfo.getSum(); |
| 34 | + |
| 35 | +} |
| 36 | + |
| 37 | +// CHECK: -CXXMethodDecl 0x{{[0-9A-Fa-f]+}} <line:7:3, line:9:3> line:7:7 used getFirst 'int ()' implicit-inline |
| 38 | +// CHECK-NEXT:`-CompoundStmt 0x{{[0-9A-Fa-f]+}} <col:18, line:9:3> |
| 39 | +// CHECK-NEXT:`-ReturnStmt 0x{{[0-9A-Fa-f]+}} <line:8:4, col:16> |
| 40 | +// CHECK-NEXT:`-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:11, col:16> 'int' <LValueToRValue> |
| 41 | +// CHECK-NEXT:`-MemberExpr 0x{{[0-9A-Fa-f]+}} <col:11, col:16> 'int' lvalue .First 0x{{[0-9A-Fa-f]+}} |
| 42 | +// CHECK-NEXT:`-CXXThisExpr 0x{{[0-9A-Fa-f]+}} <col:11> 'Pair' lvalue this |
| 43 | +// CHECK-NEXT:-CXXMethodDecl 0x{{[0-9A-Fa-f]+}} <line:11:3, line:13:3> line:11:7 used getSecond 'int ()' implicit-inline |
| 44 | +// CHECK-NEXT:`-CompoundStmt 0x{{[0-9A-Fa-f]+}} <col:19, line:13:3> |
| 45 | +// CHECK-NEXT:`-ReturnStmt 0x{{[0-9A-Fa-f]+}} <line:12:5, col:12> |
| 46 | +// CHECK-NEXT:`-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:12> 'int' <LValueToRValue> |
| 47 | +// CHECK-NEXT:`-MemberExpr 0x{{[0-9A-Fa-f]+}} <col:12> 'int' lvalue .Second 0x{{[0-9A-Fa-f]+}} |
| 48 | +// CHECK-NEXT:`-CXXThisExpr 0x{{[0-9A-Fa-f]+}} <col:12> 'Pair' lvalue implicit this |
| 49 | + |
| 50 | + |
| 51 | +// CHECK: CXXMethodDecl 0x{{[0-9A-Fa-f]+}} <line:19:3, line:21:3> line:19:7 used getSum 'int ()' implicit-inline |
| 52 | +// CHECK-NEXT:`-CompoundStmt 0x{{[0-9A-Fa-f]+}} <col:16, line:21:3> |
| 53 | +// CHECK-NEXT:`-ReturnStmt 0x{{[0-9A-Fa-f]+}} <line:20:5, col:25> |
| 54 | +// CHECK-NEXT:`-BinaryOperator 0x{{[0-9A-Fa-f]+}} <col:12, col:25> 'int' '+' |
| 55 | +// CHECK-NEXT:-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:12, col:17> 'int' <LValueToRValue> |
| 56 | +// CHECK-NEXT:`-MemberExpr 0x{{[0-9A-Fa-f]+}} <col:12, col:17> 'int' lvalue .First 0x{{[0-9A-Fa-f]+}} |
| 57 | +// CHECK-NEXT:`-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:12> 'Pair' lvalue <UncheckedDerivedToBase (Pair)> |
| 58 | +// CHECK-NEXT:`-CXXThisExpr 0x{{[0-9A-Fa-f]+}} <col:12> 'PairInfo' lvalue this |
| 59 | +// CHECK-NEXT:`-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:25> 'int' <LValueToRValue> |
| 60 | +// CHECK-NEXT:`-MemberExpr 0x{{[0-9A-Fa-f]+}} <col:25> 'int' lvalue .Second 0x{{[0-9A-Fa-f]+}} |
| 61 | +// CHECK-NEXT:`-ImplicitCastExpr 0x{{[0-9A-Fa-f]+}} <col:25> 'Pair' lvalue <UncheckedDerivedToBase (Pair)> |
| 62 | +// CHECK-NEXT:`-CXXThisExpr 0x{{[0-9A-Fa-f]+}} <col:25> 'PairInfo' lvalue implicit this |
0 commit comments