From 9363e19667d5b4c7af2237bc6f22a636fed1dc0f Mon Sep 17 00:00:00 2001 From: dhewg Date: Sun, 17 Apr 2011 12:27:04 +0200 Subject: TSAGE: Suppress strict-alias warnings on older GCCs --- engines/tsage/saveload.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'engines/tsage/saveload.h') diff --git a/engines/tsage/saveload.h b/engines/tsage/saveload.h index 83661b8f15..945d144ae5 100644 --- a/engines/tsage/saveload.h +++ b/engines/tsage/saveload.h @@ -51,7 +51,13 @@ struct tSageSavegameHeader { /*--------------------------------------------------------------------------*/ -#define SYNC_POINTER(x) s.syncPointer((SavedObject **)&x) +// FIXME: workaround to supress spurious strict-alias warnings on older GCC +// versions. this should be resolved with the savegame rewrite +#define SYNC_POINTER(x) do { \ + SavedObject *y = (SavedObject *)x; \ + s.syncPointer(&y); \ +} while (false) + #define SYNC_ENUM(FIELD, TYPE) int v_##FIELD = (int)FIELD; s.syncAsUint16LE(v_##FIELD); \ if (s.isLoading()) FIELD = (TYPE)v_##FIELD; -- cgit v1.2.3