mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-08-05 19:35:48 +03:00
Better definition of MBEDTLS_IS_BIG_ENDIAN for IAR
Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
This commit is contained in:
@@ -224,10 +224,25 @@ static inline uint64_t mbedtls_bswap64(uint64_t x)
|
|||||||
#endif /* !defined(MBEDTLS_BSWAP64) */
|
#endif /* !defined(MBEDTLS_BSWAP64) */
|
||||||
|
|
||||||
#if !defined(__BYTE_ORDER__)
|
#if !defined(__BYTE_ORDER__)
|
||||||
|
|
||||||
|
#if defined(__LITTLE_ENDIAN__)
|
||||||
|
/* IAR defines __xxx_ENDIAN__, but not __BYTE_ORDER__ */
|
||||||
|
#define MBEDTLS_IS_BIG_ENDIAN 0
|
||||||
|
#elif defined(__BIG_ENDIAN__)
|
||||||
|
#define MBEDTLS_IS_BIG_ENDIAN 1
|
||||||
|
#else
|
||||||
static const uint16_t mbedtls_byte_order_detector = { 0x100 };
|
static const uint16_t mbedtls_byte_order_detector = { 0x100 };
|
||||||
#define MBEDTLS_IS_BIG_ENDIAN (*((unsigned char *) (&mbedtls_byte_order_detector)) == 0x01)
|
#define MBEDTLS_IS_BIG_ENDIAN (*((unsigned char *) (&mbedtls_byte_order_detector)) == 0x01)
|
||||||
|
#endif
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define MBEDTLS_IS_BIG_ENDIAN ((__BYTE_ORDER__) == (__ORDER_BIG_ENDIAN__))
|
|
||||||
|
#if (__BYTE_ORDER__) == (__ORDER_BIG_ENDIAN__)
|
||||||
|
#define MBEDTLS_IS_BIG_ENDIAN 1
|
||||||
|
#else
|
||||||
|
#define MBEDTLS_IS_BIG_ENDIAN 0
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* !defined(__BYTE_ORDER__) */
|
#endif /* !defined(__BYTE_ORDER__) */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user