// RUN: %empty-directory(%t) // RUN: %build-irgen-test-overlays // RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) %s -emit-ir -target %target-pre-stable-abi-triple | %FileCheck %s -DINT=i%target-ptrsize --check-prefix=CHECK --check-prefix=CHECK-OLD // REQUIRES: objc_interop // UNSUPPORTED: swift_only_stable_abi // See also eager-class-initialization-stable-abi.swift, for the stable ABI // deployment target test. import Foundation class BaseWithCoding : NSObject, NSCoding { required init(coder: NSCoder) { fatalError() } func encode(coder: NSCoder) { fatalError() } } class Generic : BaseWithCoding {} class GenericAncestry : Generic {} @objc(custom_name) class GenericAncestryWithCustomName : Generic {} // CHECK-LABEL: define {{.*}} @_swift_eager_class_initialization // CHECK-NEXT: entry: // CHECK-OLD-NEXT: [[RESPONSE:%.*]] = call swiftcc %swift.metadata_response @"$s4main15GenericAncestryCMa"([[INT]] 0) // CHECK-OLD-NEXT: [[METADATA:%.*]] = extractvalue %swift.metadata_response [[RESPONSE]], 0 // CHECK-OLD-NEXT: call void asm sideeffect "", "r"(ptr [[METADATA]]) // CHECK-NEXT: [[RESPONSE:%.*]] = call swiftcc %swift.metadata_response @"$s4main29GenericAncestryWithCustomNameCMa"([[INT]] 0) // CHECK-NEXT: [[METADATA:%.*]] = extractvalue %swift.metadata_response [[RESPONSE]], 0 // CHECK-NEXT: call void asm sideeffect "", "r"(ptr [[METADATA]]) // CHECK-NEXT: ret