Commit digitall's patch for bugs #2892510 and #2892510 with an additional comment.

svn-id: r45697
This commit is contained in:
Johannes Schickel 2009-11-06 17:21:43 +00:00
parent 881bf37554
commit d66e284bde

View File

@ -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