From 44506eae560acab6dcebe6ba0cdc2722c136bbfc Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Wed, 24 Dec 2014 16:46:51 -0800 Subject: [PATCH] Fix compilation with compilers with non-totally-broken templates --- libaegisub/include/libaegisub/lua/utils.h | 38 +++++++++++------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/libaegisub/include/libaegisub/lua/utils.h b/libaegisub/include/libaegisub/lua/utils.h index 3bf8b2d9a..ff57e863e 100644 --- a/libaegisub/include/libaegisub/lua/utils.h +++ b/libaegisub/include/libaegisub/lua/utils.h @@ -136,6 +136,25 @@ T& get(lua_State *L, int idx, const char *mt) { return *static_cast(check_udata(L, idx, mt)); } +#ifdef _DEBUG +struct LuaStackcheck { + lua_State *L; + int startstack; + + void check_stack(int additional); + void dump(); + + LuaStackcheck(lua_State *L) : L(L), startstack(lua_gettop(L)) { } + ~LuaStackcheck() { check_stack(0); } +}; +#else +struct LuaStackcheck { + void check_stack(int) { } + void dump() { } + LuaStackcheck(lua_State*) { } +}; +#endif + struct LuaForEachBreak {}; template @@ -162,23 +181,4 @@ void lua_for_each(lua_State *L, Func&& func) { /// moonscript line rewriting support int add_stack_trace(lua_State *L); -#ifdef _DEBUG -struct LuaStackcheck { - lua_State *L; - int startstack; - - void check_stack(int additional); - void dump(); - - LuaStackcheck(lua_State *L) : L(L), startstack(lua_gettop(L)) { } - ~LuaStackcheck() { check_stack(0); } -}; -#else -struct LuaStackcheck { - void check_stack(int) { } - void dump() { } - LuaStackcheck(lua_State*) { } -}; -#endif - } }