[ASTImporter] Add test for importing CompoundAssignOperators
authorRaphael Isemann <teemperor@gmail.com>
Thu, 16 Aug 2018 18:21:33 +0000 (18:21 +0000)
committerRaphael Isemann <teemperor@gmail.com>
Thu, 16 Aug 2018 18:21:33 +0000 (18:21 +0000)
Reviewers: a.sidorin, martong

Reviewed By: martong

Subscribers: rnkovacs, cfe-commits, martong

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

llvm-svn: 339918

clang/test/Import/compound-assign-op/Inputs/F.cpp [new file with mode: 0644]
clang/test/Import/compound-assign-op/test.cpp [new file with mode: 0644]

diff --git a/clang/test/Import/compound-assign-op/Inputs/F.cpp b/clang/test/Import/compound-assign-op/Inputs/F.cpp
new file mode 100644 (file)
index 0000000..f925ae5
--- /dev/null
@@ -0,0 +1,18 @@
+void f() {
+  unsigned iadd_eq = 0U;
+  iadd_eq += 1U;
+  unsigned isub_eq = 0U;
+  isub_eq -= 1U;
+  unsigned imul_eq = 0U;
+  imul_eq *= 1U;
+  unsigned idiv_eq = 0U;
+  idiv_eq /= 1U;
+  unsigned iand_eq = 0U;
+  iand_eq &= 1U;
+  unsigned ixor_eq = 0U;
+  ixor_eq ^= 1U;
+  unsigned ilsh_eq = 0U;
+  ilsh_eq <<= 1U;
+  unsigned irsh_eq = 0U;
+  irsh_eq >>= 1U;
+}
diff --git a/clang/test/Import/compound-assign-op/test.cpp b/clang/test/Import/compound-assign-op/test.cpp
new file mode 100644 (file)
index 0000000..415358d
--- /dev/null
@@ -0,0 +1,45 @@
+// RUN: clang-import-test -dump-ast -import %S/Inputs/F.cpp -expression %s | FileCheck %s
+
+// CHECK: VarDecl
+// CHECK-NEXT: Integer
+// CHECK-NEXT: CompoundAssignOperator
+// CHECK-SAME: '+='
+
+// CHECK: VarDecl
+// CHECK-NEXT: Integer
+// CHECK-NEXT: CompoundAssignOperator
+// CHECK-SAME: '-='
+
+// CHECK: VarDecl
+// CHECK-NEXT: Integer
+// CHECK-NEXT: CompoundAssignOperator
+// CHECK-SAME: '*='
+
+// CHECK: VarDecl
+// CHECK-NEXT: Integer
+// CHECK-NEXT: CompoundAssignOperator
+// CHECK-SAME: '/='
+
+// CHECK: VarDecl
+// CHECK-NEXT: Integer
+// CHECK-NEXT: CompoundAssignOperator
+// CHECK-SAME: '&='
+
+// CHECK: VarDecl
+// CHECK-NEXT: Integer
+// CHECK-NEXT: CompoundAssignOperator
+// CHECK-SAME: '^='
+
+// CHECK: VarDecl
+// CHECK-NEXT: Integer
+// CHECK-NEXT: CompoundAssignOperator
+// CHECK-SAME: '<<='
+
+// CHECK: VarDecl
+// CHECK-NEXT: Integer
+// CHECK-NEXT: CompoundAssignOperator
+// CHECK-SAME: '>>='
+
+void expr() {
+  f();
+}