blob: ff9a4c90da631ef53d04fe69e421215402332673 [file] [log] [blame]
// RUN: %empty-directory(%t)
// RUN: %target-swift-frontend -emit-module -enable-library-evolution \
// RUN: -emit-module-path=%t/lib.swiftmodule -module-name=lib \
// RUN: -validate-tbd-against-ir=none \
// RUN: %S/Inputs/force_public_metadata_accessors.swift
// RUN: %target-swift-frontend -parse-as-library -enable-library-evolution \
// RUN: -force-public-linkage \
// RUN: -validate-tbd-against-ir=none -emit-ir %s -I %t | %FileCheck %s
import lib
private enum FixedContainer {
case a(S)
}
fileprivate var c = FixedContainer.a(S())
public func use() -> Int {
switch (c) {
case let .a(s):
return s.a
}
}
// CHECK: define {{.*}} @"$s31force_public_metadata_accessors3useSiyF"()
// CHECK-NOT: define
// CHECK: call {{.*}} %swift.metadata_response @"$s31force_public_metadata_accessors14FixedContainer{{.*}}LLOMa"
// FIXME: From within LLDB, this would be a forward declaration.
// Unfortunately this is difficult to reproduce from source alone.
// Really this should be a check for a non-internal "declare".
// CHECK: define{{.*}} swiftcc %swift.metadata_response @"$s31force_public_metadata_accessors14FixedContainer{{.*}}LLOMa"