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

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%40190
This commit is contained in:
Sam Lantinga 2001-09-23 18:10:59 +00:00
parent 9223cd5dd9
commit e21a23a6a8
2 changed files with 11 additions and 1 deletions

View file

@ -59,14 +59,19 @@
packing set to an alternate value, say for loading structures from disk. packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h 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 #ifdef _MSC_VER
#pragma warning(disable: 4103) #pragma warning(disable: 4103)
#endif #endif
#ifdef __BORLANDC__ #ifdef __BORLANDC__
#pragma nopackwarning #pragma nopackwarning
#endif #endif
#if (defined(__MWERKS__) && defined(macintosh))
#pragma options align=mac68k4byte
#pragma enumsalwaysint on
#else
#pragma pack(push,4) #pragma pack(push,4)
#endif
#endif /* Compiler needs structure packing set */ #endif /* Compiler needs structure packing set */
/* Set up compiler-specific options for inlining functions */ /* Set up compiler-specific options for inlining functions */

View file

@ -31,6 +31,11 @@
#ifdef __BORLANDC__ #ifdef __BORLANDC__
#pragma nopackwarning #pragma nopackwarning
#endif #endif
#if (defined(__MWERKS__) && defined(macintosh))
#pragma options align=reset
#pragma enumsalwaysint reset
#else
#pragma pack(pop) #pragma pack(pop)
#endif
#endif /* Compiler needs structure packing set */ #endif /* Compiler needs structure packing set */