124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===-- Endian.h ------------------------------------------------*- C++ -*-===//
224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//
324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//                     The LLVM Compiler Infrastructure
424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//
524943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// This file is distributed under the University of Illinois Open Source
624943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner// License. See LICENSE.TXT for details.
724943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//
824943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner//===----------------------------------------------------------------------===//
924943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner
1024943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#ifndef liblldb_host_endian_h_
1124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#define liblldb_host_endian_h_
1224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner
1317f5afe9ed10bda3efbce0f26cf0c030331f8b15Greg Clayton#include "lldb/lldb-enumerations.h"
1424943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner
15cd548034fa23113e995b8463d14f910ba2f7298cGreg Claytonnamespace lldb {
16cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton
17cd548034fa23113e995b8463d14f910ba2f7298cGreg Claytonnamespace endian {
18cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton
19cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton    static union EndianTest
20cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton    {
21cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton        uint32_t num;
22cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton        uint8_t  bytes[sizeof(uint32_t)];
23cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton    } const endianTest = { (uint16_t)0x01020304 };
24cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton
25cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton    inline ByteOrder InlHostByteOrder() { return (ByteOrder)endianTest.bytes[0]; }
26cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton
27cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton//    ByteOrder const InlHostByteOrder = (ByteOrder)endianTest.bytes[0];
28cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton}
29cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton
30cd548034fa23113e995b8463d14f910ba2f7298cGreg Clayton}
3124943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner
3224943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner#endif  // liblldb_host_endian_h_
3324943d2ee8bfaa7cf5893e4709143924157a5c1eChris Lattner
34