Reviewers: a.sidorin, martong
Reviewed By: martong
Subscribers: rnkovacs, cfe-commits, martong
Differential Revision: https://reviews.llvm.org/D50793
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@339918
91177308-0d34-0410-b5e6-
96231b3b80d8
--- /dev/null
+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;
+}
--- /dev/null
+// 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();
+}