Date: Thu, 13 Sep 2001 14:14:42 -0400
authorSam Lantinga <slouken@libsdl.org>
Sun, 23 Sep 2001 18:10:59 +0000
changeset 189 175917167aac
parent 188 901e45fd0432
child 190 e4af2c852c09
Date: Thu, 13 Sep 2001 14:14:42 -0400 From: "David Chait" <davebytes@hotmail.com> 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
include/close_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 */
--- 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 */