summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/test/Import/if-stmt/Inputs/F.cpp21
-rw-r--r--lldb/test/Import/if-stmt/test.cpp47
2 files changed, 68 insertions, 0 deletions
diff --git a/lldb/test/Import/if-stmt/Inputs/F.cpp b/lldb/test/Import/if-stmt/Inputs/F.cpp
new file mode 100644
index 00000000000..a7062c94ea7
--- /dev/null
+++ b/lldb/test/Import/if-stmt/Inputs/F.cpp
@@ -0,0 +1,21 @@
+void f() {
+ if (true)
+ return;
+
+ if (int j = 3)
+ return;
+
+ if (int j; true)
+ return;
+
+ if (true)
+ return;
+ else
+ return;
+
+ if (true) {
+ return;
+ } else {
+ return;
+ }
+}
diff --git a/lldb/test/Import/if-stmt/test.cpp b/lldb/test/Import/if-stmt/test.cpp
new file mode 100644
index 00000000000..ef2270f724b
--- /dev/null
+++ b/lldb/test/Import/if-stmt/test.cpp
@@ -0,0 +1,47 @@
+// RUN: clang-import-test -dump-ast -import %S/Inputs/F.cpp -expression %s | FileCheck %s
+
+// CHECK: IfStmt
+// CHECK-NEXT: <<NULL>>
+// CHECK-NEXT: <<NULL>>
+// CHECK-NEXT: CXXBoolLiteralExpr
+// CHECK-NEXT: ReturnStmt
+// CHECK-NEXT: <<NULL>>
+
+// CHECK: IfStmt
+// CHECK-NEXT: <<NULL>>
+// CHECK-NEXT: DeclStmt
+// CHECK-NEXT: VarDecl
+// CHECK-NEXT: IntegerLiteral
+// CHECK-NEXT: ImplicitCastExpr
+// CHECK-NEXT: ImplicitCastExpr
+// CHECK-NEXT: DeclRefExpr
+// CHECK-NEXT: ReturnStmt
+// CHECK-NEXT: <<NULL>>
+
+// CHECK: IfStmt
+// CHECK-NEXT: DeclStmt
+// CHECK-NEXT: VarDecl
+// CHECK-NEXT: <<NULL>>
+// CHECK-NEXT: CXXBoolLiteralExpr
+// CHECK-NEXT: ReturnStmt
+// CHECK-NEXT: <<NULL>>
+
+// CHECK: IfStmt
+// CHECK-NEXT: <<NULL>>
+// CHECK-NEXT: <<NULL>>
+// CHECK-NEXT: CXXBoolLiteralExpr
+// CHECK-NEXT: ReturnStmt
+// CHECK-NEXT: ReturnStmt
+
+// CHECK: IfStmt
+// CHECK-NEXT: <<NULL>>
+// CHECK-NEXT: <<NULL>>
+// CHECK-NEXT: CXXBoolLiteralExpr
+// CHECK-NEXT: CompoundStmt
+// CHECK-NEXT: ReturnStmt
+// CHECK-NEXT: CompoundStmt
+// CHECK-NEXT: ReturnStmt
+
+void expr() {
+ f();
+}
OpenPOWER on IntegriCloud