ADT/Triple: Add isOSDarwin() and isOSWindows() helper functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129815 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2011-04-19 21:12:05 +00:00
parent e8ba52d639
commit e1fe09f682
2 changed files with 14 additions and 2 deletions

View File

@ -249,6 +249,8 @@ public:
return getOSMajorVersion();
}
/// isOSVersionLT - Helper function for doing comparisons against version
/// numbers included in the target triple.
bool isOSVersionLT(unsigned Major, unsigned Minor = 0,
unsigned Micro = 0) const {
unsigned LHS[3];
@ -270,6 +272,17 @@ public:
return getOS() == Triple::Darwin || getOS() == Triple::OSX;
}
/// isOSDarwin - Is this a "Darwin" OS (OS X or iOS).
bool isOSDarwin() const {
return isOSX() ||getOS() == Triple::IOS;
}
/// isOSWindows - Is this a "Windows" OS.
bool isOSWindows() const {
return getOS() == Triple::Win32 || getOS() == Triple::Cygwin ||
getOS() == Triple::MinGW32;
}
/// isOSXVersionLT - Comparison function for checking OS X version
/// compatibility, which handles supporting skewed version numbering schemes
/// used by the "darwin" triples.

View File

@ -213,8 +213,7 @@ Triple::ArchType Triple::getArchTypeForDarwinArchName(StringRef Str) {
// Returns architecture name that is understood by the target assembler.
const char *Triple::getArchNameForAssembler() {
if (getOS() != Triple::Darwin && getOS() != Triple::OSX &&
getOS() != Triple::IOS && getVendor() != Triple::Apple)
if (!isOSDarwin() && getVendor() != Triple::Apple)
return NULL;
StringRef Str = getArchName();