summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2013-12-10 16:57:43 +0000
committerTim Northover <tnorthover@apple.com>2013-12-10 16:57:43 +0000
commit7af55ad434f654128451106ed9f7813ea74c8616 (patch)
tree071ea4ffbb2c29e0481a86e17cbfbf5b3a7c3bdf /include
parent8b71466c439dfd316906a6b1ef2ff7a30f4221ad (diff)
downloadllvm-7af55ad434f654128451106ed9f7813ea74c8616.tar.gz
llvm-7af55ad434f654128451106ed9f7813ea74c8616.tar.bz2
llvm-7af55ad434f654128451106ed9f7813ea74c8616.tar.xz
Make Triple's isOSBinFormatXXX functions partition triple-space.
Most users would be surprised if "isCOFF" and "isMachO" were simultaneously true, unless they'd put the compiler in a box with a gun attached to a photon detector. This makes sure precisely one of the three formats is true for any triple and simplifies some target logic based on that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196934 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/ADT/Triple.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/llvm/ADT/Triple.h b/include/llvm/ADT/Triple.h
index 84e0b29d1f..9b34d8a3da 100644
--- a/include/llvm/ADT/Triple.h
+++ b/include/llvm/ADT/Triple.h
@@ -341,17 +341,17 @@ public:
/// \brief Tests whether the OS uses the ELF binary format.
bool isOSBinFormatELF() const {
- return !isOSDarwin() && !isOSWindows();
+ return !isOSBinFormatMachO() && !isOSBinFormatCOFF();
}
/// \brief Tests whether the OS uses the COFF binary format.
bool isOSBinFormatCOFF() const {
- return isOSWindows();
+ return getEnvironment() != Triple::ELF &&
+ getEnvironment() != Triple::MachO && isOSWindows();
}
/// \brief Tests whether the environment is MachO.
- // FIXME: Should this be an OSBinFormat predicate?
- bool isEnvironmentMachO() const {
+ bool isOSBinFormatMachO() const {
return getEnvironment() == Triple::MachO || isOSDarwin();
}