summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/structmodule.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/Modules/structmodule.c b/Modules/structmodule.c
index a0ecb67..649f330 100644
--- a/Modules/structmodule.c
+++ b/Modules/structmodule.c
@@ -32,6 +32,16 @@ static object *StructError;
/* Define various structs to figure out the alignments of types */
+#ifdef __MWERKS__
+/*
+** XXXX We have a problem here. There are no unique alignment rules
+** on the PowerPC mac.
+*/
+#ifdef __powerc
+#pragma options align=mac68k
+#endif
+#endif /* __MWERKS__ */
+
typedef struct { char c; short x; } s_short;
typedef struct { char c; int x; } s_int;
typedef struct { char c; long x; } s_long;
@@ -44,6 +54,10 @@ typedef struct { char c; double x; } s_double;
#define FLOAT_ALIGN (sizeof(s_float) - sizeof(float))
#define DOUBLE_ALIGN (sizeof(s_double) - sizeof(double))
+#ifdef __powerc
+#pragma options align=reset
+#endif
+
/* Align a size according to a format code */