Files
swift-mirror/test/ModuleInterface/spi-available-interface.swift
Xi Ge 6b1f736f16 Availability: only diagnose exposing SPI_AVAILABLE symbols in modules with library-level=API
For executable targets or private libraries, using SPI_AVAILABLE symbols should be allowed.

rdar://91088241
2022-04-04 15:33:30 -07:00

21 lines
724 B
Swift

// REQUIRES: OS=macosx
// RUN: %empty-directory(%t/inputs)
// RUN: %target-swift-frontend -typecheck %s -F %S/../ClangImporter/Inputs/frameworks -DFoo -emit-module-interface-path %t/inputs/Foo.swiftinterface -module-name Foo -enable-library-evolution -disable-clang-spi -library-level api
// RUN: %target-swift-frontend -typecheck %s -F %S/../ClangImporter/Inputs/frameworks -enable-library-evolution -I %t/inputs -disable-clang-spi -library-level api
// RUN: %target-swift-frontend -typecheck-module-from-interface %t/inputs/Foo.swiftinterface -F %S/../ClangImporter/Inputs/frameworks -disable-clang-spi -library-level api
#if Foo
import SPIContainer
public func bar(_ c: SPIInterface1) {}
#else
import Foo
#endif