From 557c56b21ed744ce5b14a81125e1f318308e2955 Mon Sep 17 00:00:00 2001 From: Raphael Isemann Date: Thu, 16 Aug 2018 18:21:33 +0000 Subject: [PATCH] [ASTImporter] Add test for importing CompoundAssignOperators 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 --- test/Import/compound-assign-op/Inputs/F.cpp | 18 +++++++++ test/Import/compound-assign-op/test.cpp | 45 +++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 test/Import/compound-assign-op/Inputs/F.cpp create mode 100644 test/Import/compound-assign-op/test.cpp diff --git a/test/Import/compound-assign-op/Inputs/F.cpp b/test/Import/compound-assign-op/Inputs/F.cpp new file mode 100644 index 0000000000..f925ae5ef6 --- /dev/null +++ b/test/Import/compound-assign-op/Inputs/F.cpp @@ -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/test/Import/compound-assign-op/test.cpp b/test/Import/compound-assign-op/test.cpp new file mode 100644 index 0000000000..415358ddbf --- /dev/null +++ b/test/Import/compound-assign-op/test.cpp @@ -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(); +} -- 2.40.0