Files
swift-mirror/test/TBD/embed-symbol.swift
Xi Ge e013f1fb81 TBDGen: add a flag for embedding external symbols in emitted tbd file
Static-linked libraries could add symbols to the final tbd file. We need
this flag to specify additional module names to collect symbols from.

rdar://59399684
2020-02-12 13:47:59 -08:00

22 lines
956 B
Swift

// REQUIRES: VENDOR=apple
// RUN: %empty-directory(%t)
// RUN: echo 'public class Foo {}' > %t/foo.swift
// RUN: echo 'public class Bar {}' > %t/bar.swift
// RUN: %target-swift-frontend -emit-module %t/foo.swift -emit-module-path %t/foo.swiftmodule
// RUN: %target-swift-frontend -emit-module %t/bar.swift -emit-module-path %t/bar.swiftmodule
// RUN: %target-swift-frontend -typecheck %s -emit-tbd -emit-tbd-path %t/flag-not-provided.tbd -I %t -module-name main
// RUN: %FileCheck %s --check-prefix FLAG-NOT-PROVIDED < %t/flag-not-provided.tbd
// RUN: %target-swift-frontend -typecheck %s -emit-tbd -emit-tbd-path %t/flag-provided.tbd -I %t -embed-tbd-for-module foo -embed-tbd-for-module bar -module-name main
// RUN: %FileCheck %s --check-prefix FLAG-PROVIDED < %t/flag-provided.tbd
import foo
import bar
// FLAG-NOT-PROVIDED-NOT: $s3bar3BarCMa
// FLAG-NOT-PROVIDED-NOT: $s3foo3FooCMa
// FLAG-PROVIDED: $s3bar3BarCMa
// FLAG-PROVIDED: $s3foo3FooCMa