From 9415efe0161913c27198cad7fd8646a65a2a3560 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sun, 23 Sep 2001 18:10:59 +0000 Subject: [PATCH] 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... --- include/begin_code.h | 7 ++++++- include/close_code.h | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/include/begin_code.h b/include/begin_code.h index 133c6c158..b5d4e66b7 100644 --- a/include/begin_code.h +++ b/include/begin_code.h @@ -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 --git a/include/close_code.h b/include/close_code.h index 0a3044f00..d3b5c07e8 100644 --- a/include/close_code.h +++ b/include/close_code.h @@ -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 */