@@ -208,30 +208,47 @@ std::pair<bool, bool> LangOptions::setTarget(llvm::Triple triple) {
208
208
bool UnsupportedOS = false ;
209
209
210
210
// Set the "os" platform condition.
211
- if (Target.isMacOSX ())
211
+ switch (Target.getOS ()) {
212
+ case llvm::Triple::MacOSX:
212
213
addPlatformConditionValue (PlatformConditionKind::OS, " OSX" );
213
- else if (Target.isTvOS ())
214
+ break ;
215
+ case llvm::Triple::TvOS:
214
216
addPlatformConditionValue (PlatformConditionKind::OS, " tvOS" );
215
- else if (Target.isWatchOS ())
217
+ break ;
218
+ case llvm::Triple::WatchOS:
216
219
addPlatformConditionValue (PlatformConditionKind::OS, " watchOS" );
217
- else if (Target.isiOS ())
220
+ break ;
221
+ case llvm::Triple::IOS:
218
222
addPlatformConditionValue (PlatformConditionKind::OS, " iOS" );
219
- else if (Target.isAndroid ())
220
- addPlatformConditionValue (PlatformConditionKind::OS, " Android" );
221
- else if (Target.isOSLinux ())
222
- addPlatformConditionValue (PlatformConditionKind::OS, " Linux" );
223
- else if (Target.isOSFreeBSD ())
223
+ break ;
224
+ case llvm::Triple::Linux:
225
+ if (Target.getEnvironment () == llvm::Triple::Android)
226
+ addPlatformConditionValue (PlatformConditionKind::OS, " Android" );
227
+ else
228
+ addPlatformConditionValue (PlatformConditionKind::OS, " Linux" );
229
+ break ;
230
+ case llvm::Triple::FreeBSD:
224
231
addPlatformConditionValue (PlatformConditionKind::OS, " FreeBSD" );
225
- else if (Target.isWindowsCygwinEnvironment ())
226
- addPlatformConditionValue (PlatformConditionKind::OS, " Cygwin" );
227
- else if (Target.isOSWindows ())
228
- addPlatformConditionValue (PlatformConditionKind::OS, " Windows" );
229
- else if (Target.isPS4 ())
230
- addPlatformConditionValue (PlatformConditionKind::OS, " PS4" );
231
- else if (Target.isOSHaiku ())
232
+ break ;
233
+ case llvm::Triple::Win32:
234
+ if (Target.getEnvironment () == llvm::Triple::Cygnus)
235
+ addPlatformConditionValue (PlatformConditionKind::OS, " Cygwin" );
236
+ else
237
+ addPlatformConditionValue (PlatformConditionKind::OS, " Windows" );
238
+ break ;
239
+ case llvm::Triple::PS4:
240
+ if (Target.getVendor () == llvm::Triple::SCEI)
241
+ addPlatformConditionValue (PlatformConditionKind::OS, " PS4" );
242
+ else
243
+ UnsupportedOS = false ;
244
+ break ;
245
+ case llvm::Triple::Haiku:
232
246
addPlatformConditionValue (PlatformConditionKind::OS, " Haiku" );
233
- else
247
+ break ;
248
+ default :
234
249
UnsupportedOS = true ;
250
+ break ;
251
+ }
235
252
236
253
bool UnsupportedArch = false ;
237
254
0 commit comments