aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage
diff options
context:
space:
mode:
authordhewg2011-04-17 12:27:04 +0200
committerdhewg2011-04-17 12:31:59 +0200
commit9363e19667d5b4c7af2237bc6f22a636fed1dc0f (patch)
tree43242944beae1071a2d0665c7642d8137e069a7e /engines/tsage
parent85adc95f79b97c179d82291b670acf11ccf1b60c (diff)
downloadscummvm-rg350-9363e19667d5b4c7af2237bc6f22a636fed1dc0f.tar.gz
scummvm-rg350-9363e19667d5b4c7af2237bc6f22a636fed1dc0f.tar.bz2
scummvm-rg350-9363e19667d5b4c7af2237bc6f22a636fed1dc0f.zip
TSAGE: Suppress strict-alias warnings on older GCCs
Diffstat (limited to 'engines/tsage')
-rw-r--r--engines/tsage/saveload.h8
1 files changed, 7 insertions, 1 deletions
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;