forked from OSchip/llvm-project
ARM: add watchOS default version support function.
It's useful for Clang's Driver faff. llvm-svn: 251574
This commit is contained in:
parent
f8e47e4868
commit
5e6fce6492
|
@ -303,10 +303,15 @@ public:
|
|||
unsigned &Micro) const;
|
||||
|
||||
/// getiOSVersion - Parse the version number as with getOSVersion. This should
|
||||
/// only be called with IOS triples.
|
||||
/// only be called with IOS or generic triples.
|
||||
void getiOSVersion(unsigned &Major, unsigned &Minor,
|
||||
unsigned &Micro) const;
|
||||
|
||||
/// getWatchOSVersion - Parse the version number as with getOSVersion. This
|
||||
/// should only be called with WatchOS or generic triples.
|
||||
void getWatchOSVersion(unsigned &Major, unsigned &Minor,
|
||||
unsigned &Micro) const;
|
||||
|
||||
/// @}
|
||||
/// @name Direct Component Access
|
||||
/// @{
|
||||
|
|
|
@ -958,7 +958,6 @@ void Triple::getiOSVersion(unsigned &Major, unsigned &Minor,
|
|||
default: llvm_unreachable("unexpected OS for Darwin triple");
|
||||
case Darwin:
|
||||
case MacOSX:
|
||||
case WatchOS:
|
||||
// Ignore the version from the triple. This is only handled because the
|
||||
// the clang driver combines OS X and IOS support into a common Darwin
|
||||
// toolchain that wants to know the iOS version number even when targeting
|
||||
|
@ -974,6 +973,32 @@ void Triple::getiOSVersion(unsigned &Major, unsigned &Minor,
|
|||
if (Major == 0)
|
||||
Major = (getArch() == aarch64) ? 7 : 5;
|
||||
break;
|
||||
case WatchOS:
|
||||
llvm_unreachable("conflicting triple info");
|
||||
}
|
||||
}
|
||||
|
||||
void Triple::getWatchOSVersion(unsigned &Major, unsigned &Minor,
|
||||
unsigned &Micro) const {
|
||||
switch (getOS()) {
|
||||
default: llvm_unreachable("unexpected OS for Darwin triple");
|
||||
case Darwin:
|
||||
case MacOSX:
|
||||
// Ignore the version from the triple. This is only handled because the
|
||||
// the clang driver combines OS X and IOS support into a common Darwin
|
||||
// toolchain that wants to know the iOS version number even when targeting
|
||||
// OS X.
|
||||
Major = 2;
|
||||
Minor = 0;
|
||||
Micro = 0;
|
||||
break;
|
||||
case WatchOS:
|
||||
getOSVersion(Major, Minor, Micro);
|
||||
if (Major == 0)
|
||||
Major = 2;
|
||||
break;
|
||||
case IOS:
|
||||
llvm_unreachable("conflicting triple info");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue