mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
This may be useful for type layout of borrow fields in the future, should we decide that addressable-for-dependencies borrows should always be represented by a pointer. rdar://153650278
32 lines
1.1 KiB
Swift
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: addressable for dependencies, not copyable, not bitwise takable, not pod, not inline
|
|
// CHECK-SAME: , i32 43188224
|
|
struct WeirdCXXTypeCell: ~Copyable {
|
|
let cell: CellThatMovesLike<NonBitwiseTakableCXXType>
|
|
}
|
|
|
|
do {
|
|
// CHECK: {{%.*}} = alloca %T15raw_layout_fred4FredVySbG
|
|
// CHECK: call swiftcc void @"$s15raw_layout_fred4FredVACyxGycfC"
|
|
let _ = Fred<Bool>()
|
|
}
|