#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
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;
/// 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