BumpPtrAllocator: do the size check without moving any pointers
[oota-llvm.git] / include / llvm / Support / Host.h
index 2731529dfd7c4014880e6e043335b7d57b81f8f3..8f4bf3c1ba56d87a0e9d14446411af7108b268c4 100644 (file)
 
 #include "llvm/ADT/StringMap.h"
 
-#if defined(__linux__)
+#if defined(__linux__) || defined(__GNU__)
 #include <endian.h>
 #else
-#ifndef _MSC_VER
+#if !defined(BYTE_ORDER) && !defined(LLVM_ON_WIN32)
 #include <machine/endian.h>
 #endif
 #endif
@@ -29,7 +29,7 @@
 namespace llvm {
 namespace sys {
 
-#if BYTE_ORDER == BIG_ENDIAN
+#if defined(BYTE_ORDER) && defined(BIG_ENDIAN) && BYTE_ORDER == BIG_ENDIAN
   static const bool IsBigEndianHost = true;
 #else
   static const bool IsBigEndianHost = false;
@@ -37,10 +37,6 @@ namespace sys {
 
   static const bool IsLittleEndianHost = !IsBigEndianHost;
 
-  inline bool isBigEndianHost() {
-    return IsBigEndianHost;
-  }
-
   /// getDefaultTargetTriple() - Return the default target triple the compiler
   /// has been configured to produce code for.
   ///
@@ -59,7 +55,7 @@ namespace sys {
   /// target which matches the host.
   ///
   /// \return - The host CPU name, or empty if the CPU could not be determined.
-  std::string getHostCPUName();
+  StringRef getHostCPUName();
 
   /// getHostCPUFeatures - Get the LLVM names for the host CPU features.
   /// The particular format of the names are target dependent, and suitable for