From e9ceb865b6621739c217f68bebea023069ef63ca Mon Sep 17 00:00:00 2001 From: dearblue Date: Sat, 22 Dec 2018 20:37:51 +0900 Subject: Fix MRB_ENDIAN_BIG is always defined, if byte order macro is not defined --- include/mrbconf.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/mrbconf.h b/include/mrbconf.h index 9bdd11af6..b1aec8334 100644 --- a/include/mrbconf.h +++ b/include/mrbconf.h @@ -60,7 +60,8 @@ /* define on big endian machines; used by MRB_NAN_BOXING, etc. */ #ifndef MRB_ENDIAN_BIG -# if BYTE_ORDER == BIG_ENDIAN +# if (defined(BYTE_ORDER) && defined(BIG_ENDIAN) && BYTE_ORDER == BIG_ENDIAN) || \ + (defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) # define MRB_ENDIAN_BIG # endif #endif -- cgit v1.2.3 From b7a832bf4f20f9e0a82607fa3e313a333f9aecd8 Mon Sep 17 00:00:00 2001 From: dearblue Date: Sat, 22 Dec 2018 21:05:27 +0900 Subject: Define byte order macros, if not defined it and there are alternatives --- mrbgems/mruby-pack/src/pack.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mrbgems/mruby-pack/src/pack.c b/mrbgems/mruby-pack/src/pack.c index 1b1f86a88..f274ff11e 100644 --- a/mrbgems/mruby-pack/src/pack.c +++ b/mrbgems/mruby-pack/src/pack.c @@ -64,6 +64,16 @@ const static unsigned char base64chars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; static unsigned char base64_dec_tab[128]; +#if !defined(BYTE_ORDER) && defined(__BYTE_ORDER__) +# define BYTE_ORDER __BYTE_ORDER__ +#endif +#if !defined(BIG_ENDIAN) && defined(__ORDER_BIG_ENDIAN__) +# define BIG_ENDIAN __ORDER_BIG_ENDIAN__ +#endif +#if !defined(LITTLE_ENDIAN) && defined(__ORDER_LITTLE_ENDIAN__) +# define LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__ +#endif + #ifdef BYTE_ORDER # if BYTE_ORDER == BIG_ENDIAN # define littleendian 0 -- cgit v1.2.3