// RUN: %target-swift-frontend -enable-objc-interop -emit-ir %s | %FileCheck %s

// REQUIRES: CPU=x86_64

// CHECK: [[OBJCCLASS:%objc_class]] = type
// CHECK: [[OPAQUE:%swift.opaque]] = type opaque
// CHECK: [[TYPE:%swift.type]] = type

// CHECK-LABEL: @"$s14ivar_destroyer17NonTrivialDerivedCMf" = internal global <{ {{.*}} }> <{
// CHECK-SAME:    i8* null,
// CHECK-SAME:    i8** {{@"\$sBoWV"|null}},
// CHECK-SAME:    i64 ptrtoint ([[OBJCCLASS]]* @"$s14ivar_destroyer17NonTrivialDerivedCMm" to i64),
// CHECK-SAME:    [[TYPE]]* bitcast (i64* getelementptr inbounds (<{ {{.*}} }>, <{ {{.*}} }>* @"$s14ivar_destroyer11TrivialBaseCMf", i32 0, i32 2) to [[TYPE]]*),
// CHECK-SAME:    [[OPAQUE]]* @_objc_empty_cache,
// CHECK-SAME:    [[OPAQUE]]* null,
// CHECK-SAME:    i64 add (i64 ptrtoint ({{.*}}* @_DATA__TtC14ivar_destroyer17NonTrivialDerived to i64), i64 {{1|2}}),
// CHECK-SAME:    i32 {{3|2}},
// CHECK-SAME:    i32 0,
// CHECK-SAME:    i32 24,
// CHECK-SAME:    i16 7,
// CHECK-SAME:    i16 0,
// CHECK-SAME:    i32 112,
// CHECK-SAME:    i32 16,
// CHECK-SAME:    <{ {{.*}} }>* @"$s14ivar_destroyer17NonTrivialDerivedCMn"
// CHECK-SAME:    void (%T14ivar_destroyer17NonTrivialDerivedC*)* @"$s14ivar_destroyer17NonTrivialDerivedCfE",
// CHECK-SAME:    %T14ivar_destroyer17NonTrivialDerivedC* ([[TYPE]]*)* @alloc_NonTrivialDerived
// CHECK-SAME:    i64 16
// CHECK-SAME:  }>

class Pachyderm {}
sil_vtable Pachyderm {}

class TrivialBase {}

sil public_external @alloc_TrivialBase : $@convention(method) (@thick TrivialBase.Type) -> @owned TrivialBase

sil_vtable TrivialBase {
  #TrivialBase.init!allocator.1: @alloc_TrivialBase
}

class NonTrivialDerived : TrivialBase {
  let p: Pachyderm

  required override init()
}

sil public_external @alloc_NonTrivialDerived : $@convention(method) (@thick NonTrivialDerived.Type) -> @owned NonTrivialDerived
sil public_external @$s14ivar_destroyer17NonTrivialDerivedCfE : $@convention(method) (@guaranteed NonTrivialDerived) -> ()

sil_vtable NonTrivialDerived {
  #TrivialBase.init!allocator.1: @alloc_NonTrivialDerived [override]
  #NonTrivialDerived!ivardestroyer.1: @$s14ivar_destroyer17NonTrivialDerivedCfE
}
