Files
swift-mirror/test/Serialization/raw_layout.swift
Daniel Rodríguez Troitiño ba68faaed5 [test] Mark tests that use experimental/upcoming features as such
Find all the usages of `--enable-experimental-feature` or
`--enable-upcoming-feature` in the tests and replace some of the
`REQUIRES: asserts` to use `REQUIRES: swift-feature-Foo` instead, which
should correctly apply to depending on the asserts/noasserts mode of the
toolchain for each feature.

Remove some comments that talked about enabling asserts since they don't
apply anymore (but I might had miss some).

All this was done with an automated script, so some formatting weirdness
might happen, but I hope I fixed most of those.

There might be some tests that were `REQUIRES: asserts` that might run
in `noasserts` toolchains now. This will normally be because their
feature went from experimental to upcoming/base and the tests were not
updated.
2024-11-02 11:46:46 -07:00

32 lines
1.1 KiB
Swift

// RUN: %empty-directory(%t)
// RUN: %target-swift-frontend -emit-module -enable-experimental-feature RawLayout -module-name raw_layout_fred -o %t %S/Inputs/raw_layout.swift
// RUN: %target-swift-frontend -I %t -I %S/Inputs -cxx-interoperability-mode=upcoming-swift -emit-ir %s -verify | %FileCheck %s
// REQUIRES: swift_feature_RawLayout
import raw_layout_fred
import RawLayoutCXX
// CHECK: %T15raw_layout_fred4FredVySbG = type <{ [1 x i8] }>
// CHECK-LABEL: @"$s{{[A-Za-z0-9_]*}}16WeirdCXXTypeCellVWV" = {{.*}} %swift.vwtable
// initializeWithTake
// CHECK-SAME: , ptr @"$s10raw_layout16WeirdCXXTypeCellVwtk
// assignWithTake
// CHECK-SAME: , ptr @"$s10raw_layout16WeirdCXXTypeCellVwta
// size
// CHECK-SAME: , {{i64|i32}} 1
// stride
// CHECK-SAME: , {{i64|i32}} 1
// flags: not copyable, not bitwise takable, not pod, not inline
// CHECK-SAME: , i32 9633792
struct WeirdCXXTypeCell: ~Copyable {
let cell: CellThatMovesLike<NonBitwiseTakableCXXType>
}
do {
// CHECK: {{%.*}} = alloca %T15raw_layout_fred4FredVySbG
// CHECK: call swiftcc void @"$s15raw_layout_fred4FredVACyxGycfC"
let _ = Fred<Bool>()
}