diff options
Diffstat (limited to 'gcc/config/i386/i386.h')
-rw-r--r-- | gcc/config/i386/i386.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 5c2046a49d7..ab7c6399403 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -129,7 +129,8 @@ extern int target_flags; #define MASK_MS_BITFIELD_LAYOUT 0x00200000 /* Use native (MS) bitfield layout */ #define MASK_TLS_DIRECT_SEG_REFS 0x00400000 /* Avoid adding %gs:0 */ -/* Unused: 0x03e0000 */ +/* APPLE LOCAL dynamic-no-pic */ +/* Unused: 0x03000000 */ /* ... overlap with subtarget options starts by 0x04000000. */ #define MASK_NO_RED_ZONE 0x04000000 /* Do not use red zone */ @@ -792,7 +793,15 @@ extern int x86_prefetch_sse; #define PARM_BOUNDARY BITS_PER_WORD /* Boundary (in *bits*) on which stack pointer should be aligned. */ -#define STACK_BOUNDARY BITS_PER_WORD +/* APPLE LOCAL begin compiler should obey -mpreferred-stack-boundary (radar 3232990) */ +/* prefer * #define STACK_BOUNDARY ((ix86_preferred_stack_boundary > 128) ? 128 : ix86_preferred_stack_boundary) */ +/* We're going to extremes to yield a result of indeterminite + signedness here; this macro will be expanded in signed and + unsigned contexts, and mixed signedness induces fatal + warnings. Radar 3941684. */ +#define STACK_BOUNDARY ((ix86_preferred_stack_boundary >= 128) ? 128 : \ + (ix86_preferred_stack_boundary == 64) ? 64 : 32) +/* APPLE LOCAL end compiler should obey -mpreferred-stack-boundary (radar 3232990) */ /* Boundary (in *bits*) on which the stack pointer prefers to be aligned; the compiler cannot rely on having this alignment. */ @@ -843,7 +852,8 @@ extern int x86_prefetch_sse; #define BIGGEST_FIELD_ALIGNMENT 32 #endif #else -#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \ +/* APPLE LOCAL Macintosh alignment */ +#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED, FIRST_FIELD_P) \ x86_field_alignment (FIELD, COMPUTED) #endif |