diff options
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/Import/switch-stmt/Inputs/F.cpp | 18 | ||||
| -rw-r--r-- | clang/test/Import/switch-stmt/test.cpp | 47 |
2 files changed, 65 insertions, 0 deletions
diff --git a/clang/test/Import/switch-stmt/Inputs/F.cpp b/clang/test/Import/switch-stmt/Inputs/F.cpp new file mode 100644 index 00000000000..66cd40fae49 --- /dev/null +++ b/clang/test/Import/switch-stmt/Inputs/F.cpp @@ -0,0 +1,18 @@ +void f() { + switch (1) { + case 1: + case 2: + break; + } + switch (int varname; 1) { + case 1: + break; + case 2: + break; + } + switch (1) + default: + break; + switch (0) + ; +} diff --git a/clang/test/Import/switch-stmt/test.cpp b/clang/test/Import/switch-stmt/test.cpp new file mode 100644 index 00000000000..c8b96c72d4a --- /dev/null +++ b/clang/test/Import/switch-stmt/test.cpp @@ -0,0 +1,47 @@ +// RUN: clang-import-test -dump-ast -import %S/Inputs/F.cpp -expression %s | FileCheck %s + +// CHECK: SwitchStmt +// CHECK-NEXT: <<NULL>> +// CHECK-NEXT: <<NULL>> +// CHECK-NEXT: IntegerLiteral +// CHECK-NEXT: CompoundStmt +// CHECK-NEXT: CaseStmt +// CHECK-NEXT: IntegerLiteral +// CHECK-NEXT: <<NULL>> +// CHECK-NEXT: CaseStmt +// CHECK-NEXT: IntegerLiteral +// CHECK-NEXT: <<NULL>> +// CHECK-NEXT: BreakStmt + +// CHECK: SwitchStmt +// CHECK-NEXT: DeclStmt +// CHECK-NEXT: VarDecl +// CHECK-SAME: varname +// CHECK-NEXT: <<NULL>> +// CHECK-NEXT: IntegerLiteral +// CHECK-NEXT: CompoundStmt +// CHECK-NEXT: CaseStmt +// CHECK-NEXT: IntegerLiteral +// CHECK-NEXT: <<NULL>> +// CHECK-NEXT: BreakStmt +// CHECK-NEXT: CaseStmt +// CHECK-NEXT: IntegerLiteral +// CHECK-NEXT: <<NULL>> +// CHECK-NEXT: BreakStmt + +// CHECK: SwitchStmt +// CHECK-NEXT: <<NULL>> +// CHECK-NEXT: <<NULL>> +// CHECK-NEXT: IntegerLiteral +// CHECK-NEXT: DefaultStmt +// CHECK-NEXT: BreakStmt + +// CHECK: SwitchStmt +// CHECK-NEXT: <<NULL>> +// CHECK-NEXT: <<NULL>> +// CHECK-NEXT: IntegerLiteral +// CHECK-NEXT: NullStmt + +void expr() { + f(); +} |

