Skip to content

Commit 46d6d3e

Browse files
committed
[interop] update test checks
1 parent 8b7b134 commit 46d6d3e

File tree

1 file changed

+26
-10
lines changed

1 file changed

+26
-10
lines changed

test/Interop/Cxx/class/copy-move-assignment-irgen.swift

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -I %S/Inputs -enable-experimental-cxx-interop -emit-ir %s -Xcc -fignore-exceptions -O | %FileCheck %s
1+
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -I %S/Inputs -enable-experimental-cxx-interop -emit-ir %s -Xcc -fignore-exceptions -disable-llvm-optzns | %FileCheck %s
22

33
import CopyMoveAssignment
44

@@ -16,15 +16,31 @@ public func copyAssign() {
1616
}
1717

1818
// CHECK-LABEL: define {{.*}}copyAssign
19-
// CHECK: call %struct.NonTrivialCopyAndCopyMoveAssign* @{{_ZN31NonTrivialCopyAndCopyMoveAssignC1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignC2Ev|"\?\?0NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[#COPY_INSTANCE:]])
20-
// CHECK: call %struct.NonTrivialCopyAndCopyMoveAssign* @{{_ZN31NonTrivialCopyAndCopyMoveAssignC1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignC2Ev|"\?\?0NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[#COPY_INSTANCE2:]])
21-
// CHECK: call %struct.NonTrivialCopyAndCopyMoveAssign* @{{_ZN31NonTrivialCopyAndCopyMoveAssignD1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignD2Ev|"\?\?1NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[#COPY_INSTANCE]])
22-
// CHECK: call %struct.NonTrivialCopyAndCopyMoveAssign* @{{_ZN31NonTrivialCopyAndCopyMoveAssignC1ERKS_|_ZN31NonTrivialCopyAndCopyMoveAssignC2ERKS_|"\?\?4NonTrivialCopyAndCopyMoveAssign@@QEAAAEAU0@AEBU0@@Z"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[#COPY_INSTANCE]], %struct.NonTrivialCopyAndCopyMoveAssign* %[[#COPY_INSTANCE2]])
23-
// CHECK: call swiftcc
24-
// CHECK: call {{.*}}{{_ZN31NonTrivialCopyAndCopyMoveAssignD1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignD2Ev|"\?\?1NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[#COPY_INSTANCE2]])
25-
// CHECK: call swiftcc
26-
// CHECK: call {{.*}} @{{_ZN31NonTrivialCopyAndCopyMoveAssignD1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignD2Ev|"\?\?1NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[#COPY_INSTANCE]])
27-
// CHECK-NOT: NonTrivialCopyAndCopyMoveAssign
19+
// CHECK: %[[#COPY_INSTANCE_I1:]] = bitcast %TSo017NonTrivialCopyAndC10MoveAssignV* %[[COPY_INSTANCE:.*]] to %struct.NonTrivialCopyAndCopyMoveAssign*
20+
// CHECK: call void @{{__swift_cxx_ctor_ZN31NonTrivialCopyAndCopyMoveAssignC1Ev|__swift_cxx_ctor_ZN31NonTrivialCopyAndCopyMoveAssignC2Ev|"__swift_cxx_ctor_\?\?0NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[#COPY_INSTANCE_I1]])
21+
22+
// CHECK: %[[#COPY_INSTANCE2_I1:]] = bitcast %TSo017NonTrivialCopyAndC10MoveAssignV* %[[COPY_INSTANCE2:.*]] to %struct.NonTrivialCopyAndCopyMoveAssign*
23+
// CHECK: call %struct.NonTrivialCopyAndCopyMoveAssign* @{{_ZN31NonTrivialCopyAndCopyMoveAssignC1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignC2Ev|"\?\?0NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[#COPY_INSTANCE2_I1]])
24+
25+
26+
// CHECK: %[[#TEMP_INSTANCE_I1:]] = bitcast %TSo017NonTrivialCopyAndC10MoveAssignV* %[[#TEMP_INSTANCE:]] to %struct.NonTrivialCopyAndCopyMoveAssign*
27+
// CHECK: %[[#COPY_INSTANCE2_I2:]] = bitcast %TSo017NonTrivialCopyAndC10MoveAssignV* %[[COPY_INSTANCE2]]
28+
// CHECK: call void @{{__swift_cxx_copy_ctor_ZN31NonTrivialCopyAndCopyMoveAssignC1ERKS_|__swift_cxx_copy_ctor_ZN31NonTrivialCopyAndCopyMoveAssignC2ERKS_|"__swift_cxx_copy_ctor_\?\?4NonTrivialCopyAndCopyMoveAssign@@QEAAAEAU0@AEBU0@@Z"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[#TEMP_INSTANCE_I1]], %struct.NonTrivialCopyAndCopyMoveAssign* %[[#COPY_INSTANCE2_I2]])
29+
30+
// CHECK: %[[#COPY_INSTANCE_I2:]] = bitcast %TSo017NonTrivialCopyAndC10MoveAssignV* %[[COPY_INSTANCE]]
31+
// CHECK: call %struct.NonTrivialCopyAndCopyMoveAssign* @{{_ZN31NonTrivialCopyAndCopyMoveAssignD1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignD2Ev|"\?\?1NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[#COPY_INSTANCE_I2]])
32+
33+
// CHECK: %[[#COPY_INSTANCE_I3:]] = bitcast %TSo017NonTrivialCopyAndC10MoveAssignV* %[[COPY_INSTANCE]]
34+
// CHECK: %[[#TEMP_INSTANCE_I2:]] = bitcast %TSo017NonTrivialCopyAndC10MoveAssignV* %[[#TEMP_INSTANCE]]
35+
// CHECK: call void @{{__swift_cxx_copy_ctor_ZN31NonTrivialCopyAndCopyMoveAssignC1ERKS_.1|__swift_cxx_copy_ctor_ZN31NonTrivialCopyAndCopyMoveAssignC2ERKS_.1|"__swift_cxx_copy_ctor_\?\?4NonTrivialCopyAndCopyMoveAssign@@QEAAAEAU0@AEBU0@@Z.1"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[#COPY_INSTANCE_I3]], %struct.NonTrivialCopyAndCopyMoveAssign* %[[#TEMP_INSTANCE_I2]])
36+
37+
// CHECK: %[[#TEMP_INSTANCE_I3:]] = bitcast %TSo017NonTrivialCopyAndC10MoveAssignV* %[[#TEMP_INSTANCE]]
38+
// CHECK: call %struct.NonTrivialCopyAndCopyMoveAssign* @{{_ZN31NonTrivialCopyAndCopyMoveAssignD1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignD2Ev|"\?\?1NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[#TEMP_INSTANCE_I3]])
39+
40+
// CHECK: call {{.*}} @{{_ZN31NonTrivialCopyAndCopyMoveAssignD1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignD2Ev|"\?\?1NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(
41+
// CHECK: call {{.*}} @{{_ZN31NonTrivialCopyAndCopyMoveAssignD1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignD2Ev|"\?\?1NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(
42+
// CHECK: call {{.*}} @{{_ZN31NonTrivialCopyAndCopyMoveAssignD1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignD2Ev|"\?\?1NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(
43+
2844

2945
// CHECK-LABEL: define {{.*}}takeAssign
3046
// CHECK: call %struct.NonTrivialCopyAndCopyMoveAssign* @{{_ZN31NonTrivialCopyAndCopyMoveAssignC1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignC2Ev|"\?\?0NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[#MOVE_INSTANCE:]])

0 commit comments

Comments
 (0)