blob: 1f21cf03f6956346c29387436504d942146b35f2 [file] [log] [blame]
Manuel Klimekcb7b45e2012-11-07 00:33:12 +00001// RUN: %clang_cc1 -ast-dump -ast-dump-filter Test %s | FileCheck -strict-whitespace %s
2
3int TestLocation = 0;
Alexander Kornienkod538ed92012-12-20 02:09:13 +00004// CHECK: VarDecl{{.*}}TestLocation
5// CHECK-NEXT: IntegerLiteral 0x{{[^ ]*}} <col:20> 'int' 0
Manuel Klimekcb7b45e2012-11-07 00:33:12 +00006
7int TestIndent = 1 + (1);
Alexander Kornienkod538ed92012-12-20 02:09:13 +00008// CHECK: VarDecl{{.*}}TestIndent
Richard Trieue8d41192013-01-31 01:44:26 +00009// CHECK-NEXT: {{^}}`-BinaryOperator{{[^()]*$}}
10// CHECK-NEXT: {{^}} |-IntegerLiteral{{.*0[^()]*$}}
11// CHECK-NEXT: {{^}} `-ParenExpr{{.*0[^()]*$}}
12// CHECK-NEXT: {{^}} `-IntegerLiteral{{.*0[^()]*$}}
Manuel Klimekcb7b45e2012-11-07 00:33:12 +000013
14void TestDeclStmt() {
15 int x = 0;
16 int y, z;
17}
Alexander Kornienkod538ed92012-12-20 02:09:13 +000018// CHECK: FunctionDecl{{.*}}TestDeclStmt
Manuel Klimekcb7b45e2012-11-07 00:33:12 +000019// CHECK-NEXT: CompoundStmt
20// CHECK-NEXT: DeclStmt
Alexander Kornienkod538ed92012-12-20 02:09:13 +000021// CHECK-NEXT: VarDecl{{.*}}x
Manuel Klimekcb7b45e2012-11-07 00:33:12 +000022// CHECK-NEXT: IntegerLiteral
23// CHECK-NEXT: DeclStmt
Alexander Kornienkod538ed92012-12-20 02:09:13 +000024// CHECK-NEXT: VarDecl{{.*}}y
25// CHECK-NEXT: VarDecl{{.*}}z
Manuel Klimekcb7b45e2012-11-07 00:33:12 +000026
27int TestOpaqueValueExpr = 0 ?: 1;
Alexander Kornienkod538ed92012-12-20 02:09:13 +000028// CHECK: VarDecl{{.*}}TestOpaqueValueExpr
Manuel Klimekcb7b45e2012-11-07 00:33:12 +000029// CHECK-NEXT: BinaryConditionalOperator
30// CHECK-NEXT: IntegerLiteral
31// CHECK-NEXT: OpaqueValueExpr
32// CHECK-NEXT: IntegerLiteral
33// CHECK-NEXT: OpaqueValueExpr
34// CHECK-NEXT: IntegerLiteral
35// CHECK-NEXT: IntegerLiteral