diff options
-rw-r--r-- | ffi.c | 8 | ||||
-rw-r--r-- | ffi.h | 2 | ||||
-rw-r--r-- | parser.c | 2 |
3 files changed, 8 insertions, 4 deletions
@@ -3388,21 +3388,21 @@ static int setup_upvals(lua_State* L) #if defined ARCH_X86 || defined ARCH_ARM lua_pushboolean(L, 1); lua_setfield(L, -2, "32bit"); -#elif defined ARCH_X64 +#elif defined ARCH_X64 || defined ARCH_PPC64 lua_pushboolean(L, 1); lua_setfield(L, -2, "64bit"); #else #error #endif -#if defined ARCH_X86 || defined ARCH_X64 || defined ARCH_ARM +#if defined ARCH_X86 || defined ARCH_X64 || defined ARCH_ARM || defined ARCH_PPC64 lua_pushboolean(L, 1); lua_setfield(L, -2, "le"); #else #error #endif -#if defined ARCH_X86 || defined ARCH_X64 +#if defined ARCH_X86 || defined ARCH_X64 || defined ARCH_PPC64 lua_pushboolean(L, 1); lua_setfield(L, -2, "fpu"); #elif defined ARCH_ARM @@ -3449,6 +3449,8 @@ static int setup_upvals(lua_State* L) lua_pushliteral(L, "x64"); #elif defined ARCH_ARM lua_pushliteral(L, "arm"); +#elif defined ARCH_PPC64 + lua_pushliteral(L, "ppc64"); #else # error #endif @@ -133,6 +133,8 @@ static void (lua_remove)(lua_State *L, int idx) { # define ARCH_X64 #elif defined __arm__ || defined __ARM__ || defined ARM || defined __ARM || defined __arm # define ARCH_ARM +#elif defined __powerpc64__ +# define ARCH_PPC64 #else # error #endif @@ -1122,7 +1122,7 @@ static int parse_attribute(lua_State* L, struct parser* P, struct token* tok, st ct->align_mask = ALIGNOF(a32); } else if (IS_LITERAL(*tok, "DI") || IS_LITERAL(*tok, "__DI__") -#if defined ARCH_X64 +#if defined ARCH_X64 || defined ARCH_PPC64 || IS_LITERAL(*tok, "word") || IS_LITERAL(*tok, "__word__") || IS_LITERAL(*tok, "pointer") || IS_LITERAL(*tok, "__pointer__") #endif |