Skip to content

Commit df22490

Browse files
authored
Merge pull request #3220 from compnerd/switching
2 parents 989917b + 0cf0786 commit df22490

File tree

1 file changed

+35
-14
lines changed

1 file changed

+35
-14
lines changed

lib/Basic/Platform.cpp

Lines changed: 35 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -85,22 +85,43 @@ static StringRef getPlatformNameForDarwin(const DarwinPlatformKind platform) {
8585
}
8686

8787
StringRef swift::getPlatformNameForTriple(const llvm::Triple &triple) {
88-
if (triple.isOSDarwin())
88+
switch (triple.getOS()) {
89+
case llvm::Triple::UnknownOS:
90+
llvm_unreachable("unknown OS");
91+
case llvm::Triple::CloudABI:
92+
case llvm::Triple::DragonFly:
93+
case llvm::Triple::KFreeBSD:
94+
case llvm::Triple::Lv2:
95+
case llvm::Triple::NetBSD:
96+
case llvm::Triple::OpenBSD:
97+
case llvm::Triple::Solaris:
98+
case llvm::Triple::Haiku:
99+
case llvm::Triple::Minix:
100+
case llvm::Triple::RTEMS:
101+
case llvm::Triple::NaCl:
102+
case llvm::Triple::CNK:
103+
case llvm::Triple::Bitrig:
104+
case llvm::Triple::AIX:
105+
case llvm::Triple::CUDA:
106+
case llvm::Triple::NVCL:
107+
case llvm::Triple::AMDHSA:
108+
case llvm::Triple::PS4:
109+
case llvm::Triple::ELFIAMCU:
110+
return "";
111+
case llvm::Triple::Darwin:
112+
case llvm::Triple::MacOSX:
113+
case llvm::Triple::IOS:
114+
case llvm::Triple::TvOS:
115+
case llvm::Triple::WatchOS:
89116
return getPlatformNameForDarwin(getDarwinPlatformKind(triple));
90-
91-
if (triple.isAndroid())
92-
return "android";
93-
94-
if (triple.isOSLinux())
95-
return "linux";
96-
97-
if (triple.isOSFreeBSD())
117+
case llvm::Triple::Linux:
118+
return triple.isAndroid() ? "android" : "linux";
119+
case llvm::Triple::FreeBSD:
98120
return "freebsd";
99-
100-
if (triple.isOSWindows())
101-
return "windows";
102-
103-
return "";
121+
case llvm::Triple::Win32:
122+
return "windows";
123+
}
124+
llvm_unreachable("unsupported OS");
104125
}
105126

106127
StringRef swift::getMajorArchitectureName(const llvm::Triple &Triple) {

0 commit comments

Comments
 (0)