@@ -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
0 commit comments