aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorJohannes Schickel2009-11-06 17:21:43 +0000
committerJohannes Schickel2009-11-06 17:21:43 +0000
commitd66e284bde397476075990303455fb0da4a1c3cb (patch)
treedd752a7c4ef3f831b81e267dd6905b98aac2a5dc /common
parent881bf37554b1d33b3c77bf7a6718b98c7766fd83 (diff)
downloadscummvm-rg350-d66e284bde397476075990303455fb0da4a1c3cb.tar.gz
scummvm-rg350-d66e284bde397476075990303455fb0da4a1c3cb.tar.bz2
scummvm-rg350-d66e284bde397476075990303455fb0da4a1c3cb.zip
Commit digitall's patch for bugs #2892510 and #2892510 with an additional comment.
svn-id: r45697
Diffstat (limited to 'common')
-rw-r--r--common/serializer.h31
1 files changed, 20 insertions, 11 deletions
diff --git a/common/serializer.h b/common/serializer.h
index 78ea39424f..b8c62727d4 100644
--- a/common/serializer.h
+++ b/common/serializer.h
@@ -88,6 +88,26 @@ public:
inline bool isSaving() { return (_saveStream != 0); }
inline bool isLoading() { return (_loadStream != 0); }
+ // WORKAROUND for bugs #2892515 "BeOS: tinsel does not compile" and
+ // #2892510 "BeOS: Cruise does not compile". gcc 2.95.3, which is used
+ // for BeOS fails due to an internal compiler error, when we place the
+ // following function definitions in another place. Before this work-
+ // around the following SYNC_AS definitions were placed at the end
+ // of the class declaration. This caused an internal compiler error
+ // in the line "syncAsUint32LE(_version);" of
+ // "bool syncVersion(Version currentVersion)".
+ SYNC_AS(Byte, byte, 1)
+
+ SYNC_AS(Uint16LE, uint16, 2)
+ SYNC_AS(Uint16BE, uint16, 2)
+ SYNC_AS(Sint16LE, int16, 2)
+ SYNC_AS(Sint16BE, int16, 2)
+
+ SYNC_AS(Uint32LE, uint32, 4)
+ SYNC_AS(Uint32BE, uint32, 4)
+ SYNC_AS(Sint32LE, int32, 4)
+ SYNC_AS(Sint32BE, int32, 4)
+
/**
* Returns true if an I/O failure occurred.
* This flag is never cleared automatically. In order to clear it,
@@ -216,17 +236,6 @@ public:
}
}
- SYNC_AS(Byte, byte, 1)
-
- SYNC_AS(Uint16LE, uint16, 2)
- SYNC_AS(Uint16BE, uint16, 2)
- SYNC_AS(Sint16LE, int16, 2)
- SYNC_AS(Sint16BE, int16, 2)
-
- SYNC_AS(Uint32LE, uint32, 4)
- SYNC_AS(Uint32BE, uint32, 4)
- SYNC_AS(Sint32LE, int32, 4)
- SYNC_AS(Sint32BE, int32, 4)
};
#undef SYNC_AS