Index: include/llvm/ADT/Triple.h |
diff --git a/include/llvm/ADT/Triple.h b/include/llvm/ADT/Triple.h |
index 419b8e9622a842648015ef11b65fcabe742d14be..956d0e7416b0c6fc47c88ba202bde2ef0f160872 100644 |
--- a/include/llvm/ADT/Triple.h |
+++ b/include/llvm/ADT/Triple.h |
@@ -73,6 +73,7 @@ public: |
nvptx64, // NVPTX: 64-bit |
le32, // le32: generic little-endian 32-bit CPU (PNaCl / Emscripten) |
le64, // le64: generic little-endian 64-bit CPU (PNaCl / Emscripten) |
+ asmjs, // asm.js JavaScript subset @LOCALMOD Emscripten |
amdil, // AMDIL |
amdil64, // AMDIL with 64-bit pointers |
hsail, // AMD HSAIL |
@@ -133,6 +134,7 @@ public: |
Haiku, |
Minix, |
RTEMS, |
+ Emscripten, // Emscripten JavaScript runtime @LOCALMOD Emscripten |
NaCl, // Native Client |
CNK, // BG/P Compute-Node Kernel |
Bitrig, |
@@ -378,6 +380,30 @@ public: |
bool isOSMSVCRT() const { return false; } |
bool isOSWindows() const { return false; } |
bool isOSNaCl() const { return true; } |
+ bool isOSEmscripten() const { return false; } |
+ bool isOSLinux() const { return false; } |
+ bool isOSBinFormatELF() const { return true; } |
+ bool isOSBinFormatCOFF() const { return false; } |
+ bool isOSBinFormatMachO() const { return false; } |
+#elif defined(__EMSCRIPTEN__) |
+ bool isMacOSX() const { return false; } |
+ bool isiOS() const { return false; } |
+ bool isOSDarwin() const { return false; } |
+ bool isOSNetBSD() const { return false; } |
+ bool isOSOpenBSD() const { return false; } |
+ bool isOSFreeBSD() const { return false; } |
+ bool isOSSolaris() const { return false; } |
+ bool isOSBitrig() const { return false; } |
+ bool isWindowsMSVCEnvironment() const { return false; } |
+ bool isKnownWindowsMSVCEnvironment() const { return false; } |
+ bool isWindowsItaniumEnvironment() const { return false; } |
+ bool isWindowsCygwinEnvironment() const { return false; } |
+ bool isWindowsGNUEnvironment() const { return false; } |
+ bool isOSCygMing() const { return false; } |
+ bool isOSMSVCRT() const { return false; } |
+ bool isOSWindows() const { return false; } |
+ bool isOSNaCl() const { return false; } |
+ bool isOSEmscripten() const { return true; } |
bool isOSLinux() const { return false; } |
bool isOSBinFormatELF() const { return true; } |
bool isOSBinFormatCOFF() const { return false; } |
@@ -462,6 +488,13 @@ public: |
return getOS() == Triple::NaCl; |
} |
+ // @LOCALMOD-START Emscripten |
+ /// \brief Tests whether the OS is Emscripten. |
+ bool isOSEmscripten() const { |
+ return getOS() == Triple::Emscripten; |
+ } |
+ // @LOCALMOD-END Emscripten |
+ |
/// \brief Tests whether the OS is Linux. |
bool isOSLinux() const { |
return getOS() == Triple::Linux; |