# HG changeset patch # User Sam Lantinga # Date 1001268659 0 # Node ID 175917167aac1931abc1a834cbb3ce4c63e6f01e # Parent 901e45fd04320ab442ad74c8dbd4d68cf6c411b8 Date: Thu, 13 Sep 2001 14:14:42 -0400 From: "David Chait" Subject: sdlmods.zip -- Message: 502 -- Next: 503 N -------------------------------------------- now bracketed with (MWERKS && macintosh), so it'll work under metrowerks under any kind of mac build. Project Builder probably uses pack properly as it is GCC under the covers, so not worrying about it... :) it sets packing to 68K 4-byte alignment, and turns on enumsalwaysint. resets them both to project defaults when done. note that if a project sets these things in a header and expects the settings to last throughout a C file (which is a nasty thing to do), it won't work. I think there's an overall-state push/pop system, but it's a deprecated interface so I'm loathe to use it... diff -r 901e45fd0432 -r 175917167aac include/begin_code.h --- a/include/begin_code.h Sun Sep 23 17:39:30 2001 +0000 +++ b/include/begin_code.h Sun Sep 23 18:10:59 2001 +0000 @@ -59,14 +59,19 @@ packing set to an alternate value, say for loading structures from disk. The packing is reset to the previous value in close_code.h */ -#if defined(_MSC_VER) || defined(__MWERKS__) || defined(__WATCOMC__) || defined(__BORLANDC__) +#if defined(_MSC_VER) || defined(__MWERKS__) || defined(__WATCOMC__) || defined(__BORLANDC__) || defined(__APPLE__) #ifdef _MSC_VER #pragma warning(disable: 4103) #endif #ifdef __BORLANDC__ #pragma nopackwarning #endif +#if (defined(__MWERKS__) && defined(macintosh)) +#pragma options align=mac68k4byte +#pragma enumsalwaysint on +#else #pragma pack(push,4) +#endif #endif /* Compiler needs structure packing set */ /* Set up compiler-specific options for inlining functions */ diff -r 901e45fd0432 -r 175917167aac include/close_code.h --- a/include/close_code.h Sun Sep 23 17:39:30 2001 +0000 +++ b/include/close_code.h Sun Sep 23 18:10:59 2001 +0000 @@ -31,6 +31,11 @@ #ifdef __BORLANDC__ #pragma nopackwarning #endif +#if (defined(__MWERKS__) && defined(macintosh)) +#pragma options align=reset +#pragma enumsalwaysint reset +#else #pragma pack(pop) +#endif #endif /* Compiler needs structure packing set */