oops! fix for rs6000 breakage.
Geoffrey Keating
geoffk@thief.cygnus.com
Mon Feb 12 18:46:00 GMT 2001
I thought I had compiled that patch dozens of times, but it seems I
missed something...
--
Geoff Keating <geoffk@redhat.com>
2001-02-12 Geoffrey Keating <geoffk@redhat.com>
* config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
(TARGET_NO_BITFIELD_WORD): New macro.
(SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
(BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
Index: config/rs6000/sysv4.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/sysv4.h,v
retrieving revision 1.44
retrieving revision 1.45
diff -p -r1.44 -r1.45
*** sysv4.h 2001/02/12 19:39:54 1.44
--- sysv4.h 2001/02/13 02:44:54 1.45
*************** extern enum rs6000_sdata_type rs6000_sda
*** 57,62 ****
--- 57,63 ----
#define MASK_REGNAMES 0x02000000 /* Use alternate register names. */
#define MASK_PROTOTYPE 0x01000000 /* Only prototyped fcns pass variable args. */
#define MASK_LONG_DOUBLE_128 0x00800000 /* Use IEEE quad long double. */
+ #define MASK_NO_BITFIELD_WORD 0x00400000 /* Bitfields cannot cross word boundaries */
#define TARGET_NO_BITFIELD_TYPE (target_flags & MASK_NO_BITFIELD_TYPE)
#define TARGET_STRICT_ALIGN (target_flags & MASK_STRICT_ALIGN)
*************** extern enum rs6000_sdata_type rs6000_sda
*** 66,71 ****
--- 67,73 ----
#define TARGET_REGNAMES (target_flags & MASK_REGNAMES)
#define TARGET_PROTOTYPE (target_flags & MASK_PROTOTYPE)
#define TARGET_LONG_DOUBLE_128 (target_flags & MASK_LONG_DOUBLE_128)
+ #define TARGET_NO_BITFIELD_WORD (target_flags & MASK_NO_BITFIELD_WORD)
#define TARGET_TOC ((target_flags & MASK_64BIT) \
|| ((target_flags & (MASK_RELOCATABLE \
| MASK_MINIMAL_TOC)) \
*************** extern int g_switch_set; /* Whether -G
*** 136,141 ****
--- 138,146 ----
{ "no-traceback", 0, N_("no description yet") }, \
{ "eabi", MASK_EABI, N_("Use EABI.") }, \
{ "no-eabi", -MASK_EABI, N_("Don't use EABI.") }, \
+ { "bit-word", -MASK_NO_BITFIELD_WORD, "" }, \
+ { "no-bit-word", MASK_NO_BITFIELD_WORD, \
+ N_("Do not allow bitfields to cross word boundaries") }, \
{ "regnames", MASK_REGNAMES, \
N_("Use alternate register names.") }, \
{ "no-regnames", -MASK_REGNAMES, \
*************** do { \
*** 379,384 ****
--- 384,392 ----
/* Override elfos.h definition. */
#undef PCC_BITFIELD_TYPE_MATTERS
#define PCC_BITFIELD_TYPE_MATTERS (TARGET_BITFIELD_TYPE)
+
+ #undef BITFIELD_NBYTES_LIMITED
+ #define BITFIELD_NBYTES_LIMITED (TARGET_NO_BITFIELD_WORD)
/* Define this macro to be the value 1 if instructions will fail to
work if given data not on the nominal alignment. If instructions
More information about the Gcc-patches
mailing list