diff options
author | Cyndy Ishida <cyndy_ishida@apple.com> | 2019-09-23 15:28:02 +0000 |
---|---|---|
committer | Cyndy Ishida <cyndy_ishida@apple.com> | 2019-09-23 15:28:02 +0000 |
commit | d8d99d957c1624ac812d2586a22fdc72f79b758e (patch) | |
tree | ed9ec05825ed6916177f12b8c18c32ed79c2f7f4 /llvm/lib/TextAPI/MachO/TextStubCommon.cpp | |
parent | b70323e5d35171ae32ea10ff49e86cdb4b118c30 (diff) | |
download | bcm5719-llvm-d8d99d957c1624ac812d2586a22fdc72f79b758e.tar.gz bcm5719-llvm-d8d99d957c1624ac812d2586a22fdc72f79b758e.zip |
[TextAPI] Add New Supported Platforms
Summary: This patch introduces simulators, as well was the restriced zippered and macCatalyst to supported platforms
Reviewers: ributzka, steven_wu
Reviewed By: ributzka
Subscribers: hiraditya, dexonsmith, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67528
llvm-svn: 372618
Diffstat (limited to 'llvm/lib/TextAPI/MachO/TextStubCommon.cpp')
-rw-r--r-- | llvm/lib/TextAPI/MachO/TextStubCommon.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/llvm/lib/TextAPI/MachO/TextStubCommon.cpp b/llvm/lib/TextAPI/MachO/TextStubCommon.cpp index 313b040557b..806ca0324e1 100644 --- a/llvm/lib/TextAPI/MachO/TextStubCommon.cpp +++ b/llvm/lib/TextAPI/MachO/TextStubCommon.cpp @@ -43,6 +43,17 @@ void ScalarEnumerationTraits<ObjCConstraintType>::enumeration( void ScalarTraits<PlatformSet>::output(const PlatformSet &Values, void *IO, raw_ostream &OS) { + + const auto *Ctx = reinterpret_cast<TextAPIContext *>(IO); + assert((!Ctx || Ctx && Ctx->FileKind != FileType::Invalid) && + "File type is not set in context"); + + if ( Ctx && Ctx->FileKind == TBD_V3 && Values.count(PlatformKind::macOS) && + Values.count(PlatformKind::macCatalyst) ) { + OS << "zippered"; + return; + } + assert(Values.size() == 1U); switch (*Values.begin()) { default: @@ -68,6 +79,19 @@ void ScalarTraits<PlatformSet>::output(const PlatformSet &Values, void *IO, StringRef ScalarTraits<PlatformSet>::input(StringRef Scalar, void *IO, PlatformSet &Values) { + const auto *Ctx = reinterpret_cast<TextAPIContext *>(IO); + assert((!Ctx || Ctx && Ctx->FileKind != FileType::Invalid) && + "File type is not set in context"); + + if (Scalar == "zippered") { + if (Ctx && Ctx->FileKind == FileType::TBD_V3) { + Values.insert(PlatformKind::macOS); + Values.insert(PlatformKind::macCatalyst); + return {}; + } + return "invalid platform"; + } + auto Platform = StringSwitch<PlatformKind>(Scalar) .Case("unknown", PlatformKind::unknown) .Case("macosx", PlatformKind::macOS) @@ -75,8 +99,13 @@ StringRef ScalarTraits<PlatformSet>::input(StringRef Scalar, void *IO, .Case("watchos", PlatformKind::watchOS) .Case("tvos", PlatformKind::tvOS) .Case("bridgeos", PlatformKind::bridgeOS) + .Case("iosmac", PlatformKind::macCatalyst) .Default(PlatformKind::unknown); + if (Platform == PlatformKind::macCatalyst) + if (Ctx && Ctx->FileKind != FileType::TBD_V3) + return "invalid platform"; + if (Platform == PlatformKind::unknown) return "unknown platform"; |