From 092d9f38c5080da66b4edc2ec52a204448ab9a4f Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Thu, 10 Jul 2008 11:25:43 +0000 Subject: Workaround for gcc 2.95 compiler bug. svn-id: r32986 --- engines/kyra/script_tim.cpp | 10 ++++++---- engines/kyra/script_tim.h | 8 ++++++-- 2 files changed, 12 insertions(+), 6 deletions(-) (limited to 'engines') diff --git a/engines/kyra/script_tim.cpp b/engines/kyra/script_tim.cpp index 6b82ba06de..8725f6def9 100644 --- a/engines/kyra/script_tim.cpp +++ b/engines/kyra/script_tim.cpp @@ -34,6 +34,7 @@ namespace Kyra { TIMInterpreter::TIMInterpreter(KyraEngine_v1 *vm, OSystem *system) : _vm(vm), _system(system), _currentTim(0) { #define COMMAND(x) { &TIMInterpreter::x, #x } #define COMMAND_UNIMPL() { 0, 0 } +#define cmd_return(n) cmd_return_##n static const CommandEntry commandProcs[] = { // 0x00 COMMAND(cmd_initFunc0), @@ -66,15 +67,16 @@ TIMInterpreter::TIMInterpreter(KyraEngine_v1 *vm, OSystem *system) : _vm(vm), _s COMMAND_UNIMPL(), COMMAND(cmd_resetAllRuntimes), // 0x18 - COMMAND(cmd_return<1>), + COMMAND(cmd_return(1)), COMMAND(cmd_execOpcode), COMMAND(cmd_initFuncNow), COMMAND(cmd_stopFuncNow), // 0x1C - COMMAND(cmd_return<1>), - COMMAND(cmd_return<1>), - COMMAND(cmd_return<-1>) + COMMAND(cmd_return(1)), + COMMAND(cmd_return(1)), + COMMAND(cmd_return(n1)) }; +#undef cmd_return _commands = commandProcs; _commandsSize = ARRAYSIZE(commandProcs); diff --git a/engines/kyra/script_tim.h b/engines/kyra/script_tim.h index cd715ff4ef..f171823444 100644 --- a/engines/kyra/script_tim.h +++ b/engines/kyra/script_tim.h @@ -102,8 +102,12 @@ private: int cmd_execOpcode(const uint16 *param); int cmd_initFuncNow(const uint16 *param); int cmd_stopFuncNow(const uint16 *param); - template - int cmd_return(const uint16 *) { return T; } +#define cmd_return(n, v) \ + int cmd_return_##n(const uint16 *) { return v; } + + cmd_return( 1, 1); + cmd_return(n1, -1); +#undef cmd_return }; } // end of namespace Kyra -- cgit v1.2.3