diff --git a/Makefile b/Makefile index d589bad..285381e 100644 --- a/Makefile +++ b/Makefile @@ -19,8 +19,8 @@ SHARED_LIB= $(SHARED_LIB_PREFIX)lautoc$(SHARED_LIB_SUFFIX) STATIC_LIB= $(STATIC_LIB_PREFIX)lautoc$(STATIC_LIB_SUFFIX) ifeq ($(findstring Linux,$(PLATFORM)),Linux) - LUA_INCLUDE_DIR?= -I/usr/include/lua5.2/ - LUA_LIBRARY?= -llua5.2 + LUA_INCLUDE_DIR?= -I/usr/include/lua/ + LUA_LIBRARY?= -llua LAC_CFLAGS+= -fPIC LAC_LDFLAGS+= -fPIC SHARED_LIB_PREFIX:=lib @@ -29,8 +29,8 @@ ifeq ($(findstring Linux,$(PLATFORM)),Linux) STATIC_LIB_SUFFIX:=.a EXE_SUFFIX:= else ifeq ($(findstring Darwin,$(PLATFORM)),Darwin) - LUA_INCLUDE_DIR?= -I/usr/include/lua5.2/ - LUA_LIBRARY?= -llua5.2 + LUA_INCLUDE_DIR?= -I/usr/local/include + LUA_LIBRARY?= -llua LAC_CFLAGS+= -fPIC LAC_LDFLAGS+= -fPIC SHARED_LIB_PREFIX:=lib @@ -53,7 +53,7 @@ endif all: $(SHARED_LIB) $(STATIC_LIB) $(SHARED_LIB): $(LAC) - $(CC) $^ $(CFLAGS) $(LAC_CFLAGS) $(LAC_CPPFLAGS) $(LDFLAGS) $(LAC_LDFLAGS) $(LAC_LIBS) -shared -o $@ + $(CC) $^ $(CFLAGS) $(LAC_CFLAGS) $(LAC_CPPFLAGS) $(LDFLAGS) $(LAC_LDFLAGS) $(LAC_LIBS) -shared -o $@ $(STATIC_LIB): $(LAC) $(CC) $^ $(CFLAGS) $(LAC_CFLAGS) $(LAC_CPPFLAGS) -c @@ -64,7 +64,7 @@ $(STATIC_LIB): $(LAC) examples: $(EXAMPLES_OUT) examples/example_%$(EXE_SUFFIX): examples/example_%.c $(LAC) - $(CC) $^ $(CFLAGS) $(LAC_CFLAGS) $(LAC_CPPFLAGS) $(LDFLAGS) $(LAC_LDFLAGS) $(LAC_LIBS) -o $@ + $(CC) $^ $(CFLAGS) $(LAC_CFLAGS) $(LAC_CPPFLAGS) $(LDFLAGS) $(LAC_LDFLAGS) $(LAC_LIBS) -o $@ # Clean diff --git a/lautoc.h b/lautoc.h index 1947b97..fa6fde5 100644 --- a/lautoc.h +++ b/lautoc.h @@ -203,7 +203,11 @@ enum { LUAA_ARGUMENT_STACK_SIZE = 2048 }; +#ifdef __clang__ +typedef void (^luaA_Func)(void*, void*); +#else typedef void (*luaA_Func)(void*, void*); +#endif int luaA_call(lua_State* L, void* func_ptr); int luaA_call_name(lua_State* L, const char* func_name); diff --git a/lautocall.h b/lautocall.h index e70e9c9..1c72a3f 100644 --- a/lautocall.h +++ b/lautocall.h @@ -241,7 +241,7 @@ struct __luaA_wrap_##func { static void __luaA_##func(char* out, char* args) { \ arg9_t a9 = *(arg9_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)+sizeof(arg2_t)+sizeof(arg3_t)+sizeof(arg4_t)+sizeof(arg5_t)+sizeof(arg6_t)+sizeof(arg7_t)+sizeof(arg8_t)); \ func(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); }; } - + #define luaA_function_register0(L, func, ret_t) \ luaA_function_register_type(L, func, (luaA_Func)__luaA_wrap_##func::__luaA_##func, #func, luaA_type(L, ret_t), 0) @@ -256,75 +256,84 @@ struct __luaA_wrap_##func { static void __luaA_##func(char* out, char* args) { \ #define luaA_function_register4(L, func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t) \ luaA_function_register_type(L, func, (luaA_Func)__luaA_wrap_##func::__luaA_##func, #func, luaA_type(L, ret_t), 4, luaA_type(L, arg0_t), luaA_type(L, arg1_t), luaA_type(L, arg2_t), luaA_type(L, arg3_t)) - + #define luaA_function_register5(L, func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t) \ luaA_function_register_type(L, func, (luaA_Func)__luaA_wrap_##func::__luaA_##func, #func, luaA_type(L, ret_t), 5, luaA_type(L, arg0_t), luaA_type(L, arg1_t), luaA_type(L, arg2_t), luaA_type(L, arg3_t), luaA_type(L, arg4_t)) - + #define luaA_function_register6(L, func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t) \ luaA_function_register_type(L, func, (luaA_Func)__luaA_wrap_##func::__luaA_##func, #func, luaA_type(L, ret_t), 6, luaA_type(L, arg0_t), luaA_type(L, arg1_t), luaA_type(L, arg2_t), luaA_type(L, arg3_t), luaA_type(L, arg4_t), luaA_type(L, arg5_t)) #define luaA_function_register7(L, func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t) \ luaA_function_register_type(L, func, (luaA_Func)__luaA_wrap_##func::__luaA_##func, #func, luaA_type(L, ret_t), 7, luaA_type(L, arg0_t), luaA_type(L, arg1_t), luaA_type(L, arg2_t), luaA_type(L, arg3_t), luaA_type(L, arg4_t), luaA_type(L, arg5_t), luaA_type(L, arg6_t)) - + #define luaA_function_register8(L, func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t, arg7_t) \ luaA_function_register_type(L, func, (luaA_Func)__luaA_wrap_##func::__luaA_##func, #func, luaA_type(L, ret_t), 8, luaA_type(L, arg0_t), luaA_type(L, arg1_t), luaA_type(L, arg2_t), luaA_type(L, arg3_t), luaA_type(L, arg4_t), luaA_type(L, arg5_t), luaA_type(L, arg6_t), luaA_type(L, arg7_t)) - + #define luaA_function_register9(L, func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t, arg7_t, arg8_t) \ luaA_function_register_type(L, func, (luaA_Func)__luaA_wrap_##func::__luaA_##func, #func, luaA_type(L, ret_t), 9, luaA_type(L, arg0_t), luaA_type(L, arg1_t), luaA_type(L, arg2_t), luaA_type(L, arg3_t), luaA_type(L, arg4_t), luaA_type(L, arg5_t), luaA_type(L, arg6_t), luaA_type(L, arg7_t), luaA_type(L, arg8_t)) - + #define luaA_function_register10(L, func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t, arg7_t, arg8_t, arg9_t) \ luaA_function_register_type(L, func, (luaA_Func)__luaA_wrap_##func::__luaA_##func, #func, luaA_type(L, ret_t), 10, luaA_type(L, arg0_t), luaA_type(L, arg1_t), luaA_type(L, arg2_t), luaA_type(L, arg3_t), luaA_type(L, arg4_t), luaA_type(L, arg5_t), luaA_type(L, arg6_t), luaA_type(L, arg7_t), luaA_type(L, arg8_t), luaA_type(L, arg9_t)) - + +#else + + +#ifdef __clang__ +#define __luaA_func_s void(^ +#define __luaA_func_e )(void*, void*) = ^ #else +#define __luaA_func_s void +#define __luaA_func_e +#endif #define luaA_function_declare0(func, ret_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ *(ret_t*)out = func(); } #define luaA_function_declare0_void(func, ret_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ func(); } #define luaA_function_declare1(func, ret_t, arg0_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ *(ret_t*)out = func(a0); } #define luaA_function_declare1_void(func, ret_t, arg0_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ func(a0); } #define luaA_function_declare2(func, ret_t, arg0_t, arg1_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ *(ret_t*)out = func(a0, a1); } #define luaA_function_declare2_void(func, ret_t, arg0_t, arg1_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ func(a0, a1); } #define luaA_function_declare3(func, ret_t, arg0_t, arg1_t, arg2_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ *(ret_t*)out = func(a0, a1, a2); } #define luaA_function_declare3_void(func, ret_t, arg0_t, arg1_t, arg2_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ func(a0, a1, a2); } #define luaA_function_declare4(func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ @@ -332,7 +341,7 @@ void __luaA_##func(void* out, void* args) { \ *(ret_t*)out = func(a0, a1, a2, a3); } #define luaA_function_declare4_void(func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ @@ -340,7 +349,7 @@ void __luaA_##func(void* out, void* args) { \ func(a0, a1, a2, a3); } #define luaA_function_declare5(func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ @@ -349,7 +358,7 @@ void __luaA_##func(void* out, void* args) { \ *(ret_t*)out = func(a0, a1, a2, a3, a4); } #define luaA_function_declare5_void(func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ @@ -358,7 +367,7 @@ void __luaA_##func(void* out, void* args) { \ func(a0, a1, a2, a3, a4); } #define luaA_function_declare6(func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ @@ -368,7 +377,7 @@ void __luaA_##func(void* out, void* args) { \ *(ret_t*)out = func(a0, a1, a2, a3, a4, a5); } #define luaA_function_declare6_void(func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ @@ -378,7 +387,7 @@ void __luaA_##func(void* out, void* args) { \ func(a0, a1, a2, a3, a4, a5); } #define luaA_function_declare7(func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ @@ -389,7 +398,7 @@ void __luaA_##func(void* out, void* args) { \ *(ret_t*)out = func(a0, a1, a2, a3, a4, a5, a6); } #define luaA_function_declare7_void(func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ @@ -400,7 +409,7 @@ void __luaA_##func(void* out, void* args) { \ func(a0, a1, a2, a3, a4, a5, a6); } #define luaA_function_declare8(func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t, arg7_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ @@ -412,7 +421,7 @@ void __luaA_##func(void* out, void* args) { \ *(ret_t*)out = func(a0, a1, a2, a3, a4, a5, a6, a7); } #define luaA_function_declare8_void(func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t, arg7_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ @@ -424,7 +433,7 @@ void __luaA_##func(void* out, void* args) { \ func(a0, a1, a2, a3, a4, a5, a6, a7); } #define luaA_function_declare9(func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t, arg7_t, arg8_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ @@ -437,7 +446,7 @@ void __luaA_##func(void* out, void* args) { \ *(ret_t*)out = func(a0, a1, a2, a3, a4, a5, a6, a7, a8); } #define luaA_function_declare9_void(func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t, arg7_t, arg8_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ @@ -450,7 +459,7 @@ void __luaA_##func(void* out, void* args) { \ func(a0, a1, a2, a3, a4, a5, a6, a7, a8); } #define luaA_function_declare10(func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t, arg7_t, arg8_t, arg9_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ @@ -464,7 +473,7 @@ void __luaA_##func(void* out, void* args) { \ *(ret_t*)out = func(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } #define luaA_function_declare10_void(func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t, arg7_t, arg8_t, arg9_t) \ -void __luaA_##func(void* out, void* args) { \ + __luaA_func_s __luaA_##func __luaA_func_e(void* out, void* args) { \ arg0_t a0 = *(arg0_t*)args; \ arg1_t a1 = *(arg1_t*)(args+sizeof(arg0_t)); \ arg2_t a2 = *(arg2_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)); \ @@ -477,7 +486,7 @@ void __luaA_##func(void* out, void* args) { \ arg9_t a9 = *(arg9_t*)(args+sizeof(arg0_t)+sizeof(arg1_t)+sizeof(arg2_t)+sizeof(arg3_t)+sizeof(arg4_t)+sizeof(arg5_t)+sizeof(arg6_t)+sizeof(arg7_t)+sizeof(arg8_t)); \ func(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } - + #define luaA_function_register0(L, func, ret_t) \ luaA_function_register_type(L, func, __luaA_##func, #func, luaA_type(L, ret_t), 0) @@ -492,26 +501,26 @@ void __luaA_##func(void* out, void* args) { \ #define luaA_function_register4(L, func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t) \ luaA_function_register_type(L, func, __luaA_##func, #func, luaA_type(L, ret_t), 4, luaA_type(L, arg0_t), luaA_type(L, arg1_t), luaA_type(L, arg2_t), luaA_type(L, arg3_t)) - + #define luaA_function_register5(L, func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t) \ luaA_function_register_type(L, func, __luaA_##func, #func, luaA_type(L, ret_t), 5, luaA_type(L, arg0_t), luaA_type(L, arg1_t), luaA_type(L, arg2_t), luaA_type(L, arg3_t), luaA_type(L, arg4_t)) - + #define luaA_function_register6(L, func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t) \ luaA_function_register_type(L, func, __luaA_##func, #func, luaA_type(L, ret_t), 6, luaA_type(L, arg0_t), luaA_type(L, arg1_t), luaA_type(L, arg2_t), luaA_type(L, arg3_t), luaA_type(L, arg4_t), luaA_type(L, arg5_t)) #define luaA_function_register7(L, func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t) \ luaA_function_register_type(L, func, __luaA_##func, #func, luaA_type(L, ret_t), 7, luaA_type(L, arg0_t), luaA_type(L, arg1_t), luaA_type(L, arg2_t), luaA_type(L, arg3_t), luaA_type(L, arg4_t), luaA_type(L, arg5_t), luaA_type(L, arg6_t)) - + #define luaA_function_register8(L, func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t, arg7_t) \ luaA_function_register_type(L, func, __luaA_##func, #func, luaA_type(L, ret_t), 8, luaA_type(L, arg0_t), luaA_type(L, arg1_t), luaA_type(L, arg2_t), luaA_type(L, arg3_t), luaA_type(L, arg4_t), luaA_type(L, arg5_t), luaA_type(L, arg6_t), luaA_type(L, arg7_t)) - + #define luaA_function_register9(L, func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t, arg7_t, arg8_t) \ luaA_function_register_type(L, func, __luaA_##func, #func, luaA_type(L, ret_t), 9, luaA_type(L, arg0_t), luaA_type(L, arg1_t), luaA_type(L, arg2_t), luaA_type(L, arg3_t), luaA_type(L, arg4_t), luaA_type(L, arg5_t), luaA_type(L, arg6_t), luaA_type(L, arg7_t), luaA_type(L, arg8_t)) - + #define luaA_function_register10(L, func, ret_t, arg0_t, arg1_t, arg2_t, arg3_t, arg4_t, arg5_t, arg6_t, arg7_t, arg8_t, arg9_t) \ luaA_function_register_type(L, func, __luaA_##func, #func, luaA_type(L, ret_t), 10, luaA_type(L, arg0_t), luaA_type(L, arg1_t), luaA_type(L, arg2_t), luaA_type(L, arg3_t), luaA_type(L, arg4_t), luaA_type(L, arg5_t), luaA_type(L, arg6_t), luaA_type(L, arg7_t), luaA_type(L, arg8_t), luaA_type(L, arg9_t)) - + #endif #endif