Skip to content

Commit 9794b70

Browse files
authored
Merge pull request #27963 from cyndyishida/tapi_targets
[TBDGen] support targets instead of arch&platform
2 parents 82c2456 + a6be16b commit 9794b70

File tree

2 files changed

+9
-25
lines changed

2 files changed

+9
-25
lines changed

lib/TBDGen/TBDGen.cpp

+6-22
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ void TBDGenVisitor::addSymbol(StringRef name, SymbolKind kind) {
6161
SmallString<32> mangled;
6262
llvm::Mangler::getNameWithPrefix(mangled, name, DataLayout);
6363

64-
Symbols.addSymbol(kind, mangled, Archs);
64+
Symbols.addSymbol(kind, mangled, Targets);
6565

6666
if (StringSymbols && kind == SymbolKind::GlobalSymbol) {
6767
auto isNewValue = StringSymbols->insert(mangled).second;
@@ -618,8 +618,8 @@ static void enumeratePublicSymbolsAndWrite(ModuleDecl *M, FileUnit *singleFile,
618618
const TBDGenOptions &opts) {
619619
auto &ctx = M->getASTContext();
620620
auto isWholeModule = singleFile == nullptr;
621-
const auto &target = ctx.LangOpts.Target;
622-
UniversalLinkageInfo linkInfo(target, opts.HasMultipleIGMs, false,
621+
const auto &triple = ctx.LangOpts.Target;
622+
UniversalLinkageInfo linkInfo(triple, opts.HasMultipleIGMs, false,
623623
isWholeModule);
624624

625625
llvm::MachO::InterfaceFile file;
@@ -637,27 +637,11 @@ static void enumeratePublicSymbolsAndWrite(ModuleDecl *M, FileUnit *singleFile,
637637
file.setSwiftABIVersion(irgen::getSwiftABIVersion());
638638
file.setInstallAPI(opts.IsInstallAPI);
639639

640-
auto getPlatformKind =
641-
[](const llvm::Triple &Target) -> llvm::MachO::PlatformKind {
642-
switch (Target.getOS()) {
643-
default:
644-
return llvm::MachO::PlatformKind::unknown;
645-
case llvm::Triple::MacOSX:
646-
return llvm::MachO::PlatformKind::macOS;
647-
case llvm::Triple::IOS:
648-
return llvm::MachO::PlatformKind::iOS;
649-
case llvm::Triple::TvOS:
650-
return llvm::MachO::PlatformKind::tvOS;
651-
case llvm::Triple::WatchOS:
652-
return llvm::MachO::PlatformKind::watchOS;
653-
}
654-
};
655-
auto arch = llvm::MachO::getArchitectureFromName(target.getArchName());
656-
file.addArch(arch);
657-
file.setPlatform(getPlatformKind(target));
640+
llvm::MachO::Target target(triple);
641+
file.addTarget(target);
658642

659643
auto *clang = static_cast<ClangImporter *>(ctx.getClangModuleLoader());
660-
TBDGenVisitor visitor(file, arch, symbols,
644+
TBDGenVisitor visitor(file, {target}, symbols,
661645
clang->getTargetInfo().getDataLayout(),
662646
linkInfo, M, opts);
663647

lib/TBDGen/TBDGenVisitor.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ namespace tbdgen {
4747
class TBDGenVisitor : public ASTVisitor<TBDGenVisitor> {
4848
public:
4949
llvm::MachO::InterfaceFile &Symbols;
50-
llvm::MachO::ArchitectureSet Archs;
50+
llvm::MachO::TargetList Targets;
5151
StringSet *StringSymbols;
5252
const llvm::DataLayout &DataLayout;
5353

@@ -76,11 +76,11 @@ class TBDGenVisitor : public ASTVisitor<TBDGenVisitor> {
7676

7777
public:
7878
TBDGenVisitor(llvm::MachO::InterfaceFile &symbols,
79-
llvm::MachO::ArchitectureSet archs, StringSet *stringSymbols,
79+
llvm::MachO::TargetList targets, StringSet *stringSymbols,
8080
const llvm::DataLayout &dataLayout,
8181
const UniversalLinkageInfo &universalLinkInfo,
8282
ModuleDecl *swiftModule, const TBDGenOptions &opts)
83-
: Symbols(symbols), Archs(archs), StringSymbols(stringSymbols),
83+
: Symbols(symbols), Targets(targets), StringSymbols(stringSymbols),
8484
DataLayout(dataLayout), UniversalLinkInfo(universalLinkInfo),
8585
SwiftModule(swiftModule), Opts(opts) {}
8686

0 commit comments

Comments
 (0)