mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Basic: use switch instead of cascading if's
Rather than have a series of cascading if conditionals, use a switch. Although Darwin and android are special, they can be handled just as cleanly in the switch version. NFC.
This commit is contained in:
@@ -85,22 +85,43 @@ static StringRef getPlatformNameForDarwin(const DarwinPlatformKind platform) {
|
||||
}
|
||||
|
||||
StringRef swift::getPlatformNameForTriple(const llvm::Triple &triple) {
|
||||
if (triple.isOSDarwin())
|
||||
switch (triple.getOS()) {
|
||||
case llvm::Triple::UnknownOS:
|
||||
llvm_unreachable("unknown OS");
|
||||
case llvm::Triple::CloudABI:
|
||||
case llvm::Triple::DragonFly:
|
||||
case llvm::Triple::KFreeBSD:
|
||||
case llvm::Triple::Lv2:
|
||||
case llvm::Triple::NetBSD:
|
||||
case llvm::Triple::OpenBSD:
|
||||
case llvm::Triple::Solaris:
|
||||
case llvm::Triple::Haiku:
|
||||
case llvm::Triple::Minix:
|
||||
case llvm::Triple::RTEMS:
|
||||
case llvm::Triple::NaCl:
|
||||
case llvm::Triple::CNK:
|
||||
case llvm::Triple::Bitrig:
|
||||
case llvm::Triple::AIX:
|
||||
case llvm::Triple::CUDA:
|
||||
case llvm::Triple::NVCL:
|
||||
case llvm::Triple::AMDHSA:
|
||||
case llvm::Triple::PS4:
|
||||
case llvm::Triple::ELFIAMCU:
|
||||
return "";
|
||||
case llvm::Triple::Darwin:
|
||||
case llvm::Triple::MacOSX:
|
||||
case llvm::Triple::IOS:
|
||||
case llvm::Triple::TvOS:
|
||||
case llvm::Triple::WatchOS:
|
||||
return getPlatformNameForDarwin(getDarwinPlatformKind(triple));
|
||||
|
||||
if (triple.isAndroid())
|
||||
return "android";
|
||||
|
||||
if (triple.isOSLinux())
|
||||
return "linux";
|
||||
|
||||
if (triple.isOSFreeBSD())
|
||||
case llvm::Triple::Linux:
|
||||
return triple.isAndroid() ? "android" : "linux";
|
||||
case llvm::Triple::FreeBSD:
|
||||
return "freebsd";
|
||||
|
||||
if (triple.isOSWindows())
|
||||
return "windows";
|
||||
|
||||
return "";
|
||||
case llvm::Triple::Win32:
|
||||
return "windows";
|
||||
}
|
||||
llvm_unreachable("unsupported OS");
|
||||
}
|
||||
|
||||
StringRef swift::getMajorArchitectureName(const llvm::Triple &Triple) {
|
||||
|
||||
Reference in New Issue
Block a user