mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
ADT/Triple: Add helper function for OS X version checks.
llvm-svn: 129801
This commit is contained in:
parent
6f283d346f
commit
1e1f05faeb
@ -249,7 +249,8 @@ public:
|
||||
return getOSMajorVersion();
|
||||
}
|
||||
|
||||
bool isOSVersionLT(unsigned Major, unsigned B_Minor, unsigned Micro) {
|
||||
bool isOSVersionLT(unsigned Major, unsigned Minor = 0,
|
||||
unsigned Micro = 0) const {
|
||||
unsigned LHS[3];
|
||||
getOSVersion(LHS[0], LHS[1], LHS[2]);
|
||||
|
||||
@ -263,6 +264,28 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
/// isOSX - Is this an OS X triple. For legacy reasons, we support both
|
||||
/// "darwin" and "osx" as OS X triples.
|
||||
bool isOSX() const {
|
||||
return getOS() == Triple::Darwin || getOS() == Triple::OSX;
|
||||
}
|
||||
|
||||
/// isOSXVersionLT - Comparison function for checking OS X version
|
||||
/// compatibility, which handles supporting skewed version numbering schemes
|
||||
/// used by the "darwin" triples.
|
||||
unsigned isOSXVersionLT(unsigned Major, unsigned Minor = 0,
|
||||
unsigned Micro = 0) const {
|
||||
assert(isOSX() && "Not an OS X triple!");
|
||||
|
||||
// If this is OS X, expect a sane version number.
|
||||
if (getOS() == Triple::OSX)
|
||||
return isOSVersionLT(Major, Minor, Micro);
|
||||
|
||||
// Otherwise, compare to the "Darwin" number.
|
||||
assert(Major == 10 && "Unexpected major version");
|
||||
return isOSVersionLT(Minor + 4, Micro, 0);
|
||||
}
|
||||
|
||||
/// @}
|
||||
/// @name Mutators
|
||||
/// @{
|
||||
|
Loading…
Reference in New Issue
Block a user