xref: /aosp_15_r20/external/clang/test/Misc/ast-dump-stmt.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -ast-dump -ast-dump-filter Test %s | FileCheck -strict-whitespace %s
2*67e74705SXin Li 
3*67e74705SXin Li int TestLocation = 0;
4*67e74705SXin Li // CHECK:      VarDecl{{.*}}TestLocation
5*67e74705SXin Li // CHECK-NEXT:   IntegerLiteral 0x{{[^ ]*}} <col:20> 'int' 0
6*67e74705SXin Li 
7*67e74705SXin Li int TestIndent = 1 + (1);
8*67e74705SXin Li // CHECK:      VarDecl{{.*}}TestIndent
9*67e74705SXin Li // CHECK-NEXT: {{^}}`-BinaryOperator{{[^()]*$}}
10*67e74705SXin Li // CHECK-NEXT: {{^}}  |-IntegerLiteral{{.*0[^()]*$}}
11*67e74705SXin Li // CHECK-NEXT: {{^}}  `-ParenExpr{{.*0[^()]*$}}
12*67e74705SXin Li // CHECK-NEXT: {{^}}    `-IntegerLiteral{{.*0[^()]*$}}
13*67e74705SXin Li 
TestDeclStmt()14*67e74705SXin Li void TestDeclStmt() {
15*67e74705SXin Li   int x = 0;
16*67e74705SXin Li   int y, z;
17*67e74705SXin Li }
18*67e74705SXin Li // CHECK:      FunctionDecl{{.*}}TestDeclStmt
19*67e74705SXin Li // CHECK-NEXT: CompoundStmt
20*67e74705SXin Li // CHECK-NEXT:   DeclStmt
21*67e74705SXin Li // CHECK-NEXT:     VarDecl{{.*}}x
22*67e74705SXin Li // CHECK-NEXT:       IntegerLiteral
23*67e74705SXin Li // CHECK-NEXT:   DeclStmt
24*67e74705SXin Li // CHECK-NEXT:     VarDecl{{.*}}y
25*67e74705SXin Li // CHECK-NEXT:     VarDecl{{.*}}z
26*67e74705SXin Li 
27*67e74705SXin Li int TestOpaqueValueExpr = 0 ?: 1;
28*67e74705SXin Li // CHECK:      VarDecl{{.*}}TestOpaqueValueExpr
29*67e74705SXin Li // CHECK-NEXT: BinaryConditionalOperator
30*67e74705SXin Li // CHECK-NEXT:   IntegerLiteral
31*67e74705SXin Li // CHECK-NEXT:   OpaqueValueExpr
32*67e74705SXin Li // CHECK-NEXT:     IntegerLiteral
33*67e74705SXin Li // CHECK-NEXT:   OpaqueValueExpr
34*67e74705SXin Li // CHECK-NEXT:     IntegerLiteral
35*67e74705SXin Li // CHECK-NEXT:   IntegerLiteral
36