]> granicus.if.org Git - clang/commitdiff
[AST] Check that GNU range case statements are correctly imported.
authorBruno Ricci <riccibrun@gmail.com>
Mon, 29 Oct 2018 15:04:19 +0000 (15:04 +0000)
committerBruno Ricci <riccibrun@gmail.com>
Mon, 29 Oct 2018 15:04:19 +0000 (15:04 +0000)
The test for case statements did not cover GNU range case statements.

Differential Revision: https://reviews.llvm.org/D53610

Reviewed By: rjmccall

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@345506 91177308-0d34-0410-b5e6-96231b3b80d8

test/Import/switch-stmt/Inputs/F.cpp
test/Import/switch-stmt/test.cpp

index 66cd40fae496f4f7ba89c464edad20f53366e1e0..5d0d8376d4622a9c4af02f830cd8f7b626afaf23 100644 (file)
@@ -3,12 +3,17 @@ void f() {
   case 1:
   case 2:
     break;
+  case 3 ... 4:
+  case 5 ... 5:
+    break;
   }
   switch (int varname; 1) {
   case 1:
     break;
   case 2:
     break;
+  case 3 ... 5:
+    break;
   }
   switch (1)
   default:
index 3ccfdb9676dc64c0cef8561c9e6584878066280d..94416aca8cf7c9c30525563ed937718d070bb25d 100644 (file)
 // CHECK-NEXT: CaseStmt
 // CHECK-NEXT: IntegerLiteral
 // CHECK-NEXT: BreakStmt
+// CHECK-NEXT: CaseStmt
+// CHECK-NEXT: IntegerLiteral
+// CHECK-NEXT: IntegerLiteral
+// CHECK-NEXT: CaseStmt
+// CHECK-NEXT: IntegerLiteral
+// CHECK-NEXT: IntegerLiteral
+// CHECK-NEXT: BreakStmt
 
 // CHECK: SwitchStmt
 // CHECK-NEXT: DeclStmt
 // CHECK-NEXT: CaseStmt
 // CHECK-NEXT: IntegerLiteral
 // CHECK-NEXT: BreakStmt
+// CHECK-NEXT: CaseStmt
+// CHECK-NEXT: IntegerLiteral
+// CHECK-NEXT: IntegerLiteral
+// CHECK-NEXT: BreakStmt
 
 // CHECK: SwitchStmt
 // CHECK-NEXT: <<NULL>>