This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 3/8] add default for PCC_BITFIELD_TYPE_MATTERS


On Thu, Apr 30, 2015 at 08:40:50AM +0200, Andreas Schwab wrote:
> Trevor Saunders <tbsaunde@tbsaunde.org> writes:
> 
> > actually pointing out libojc/encoding.c was more useful since that makes
> > it pretty clear the ifndef PCC_BITFIELD_TYPE_MATTERS there just needs to
> > be changed to #if !
> 
> That probably won't work on arm or powerpc or vax:
> 
> gcc/config/arm/arm.h:#define PCC_BITFIELD_TYPE_MATTERS TARGET_AAPCS_BASED
> gcc/config/rs6000/sysv4.h:#define	PCC_BITFIELD_TYPE_MATTERS (TARGET_BITFIELD_TYPE)
> gcc/config/vax/vax.h:#define PCC_BITFIELD_TYPE_MATTERS (! TARGET_VAXC_ALIGNMENT)

hrmph, I don't see how this code ever worked correctly on those targets.
Consider the arm case the value of PCC_BITFIELD_TYPE_MATTERS depends on
arm_abi so if the bitfield type matters depends on what abi libobjc is
being built for, but its not obvious how libobjc is dealing with that.
I suppose it could be that libobjc is using this macro to know something
else that only sort of relaed somehow.  Unfortunately this code seems to
come from the creation of libobjc/ in 11998 and though the commit says
it is a move from gcc/objc/ nothing appears to have been removed from
gcc/objc/.

I guess the "best" thing to do is justadd a
__PCC_BITFIELD_TYPE_MATTERS__ that gcc defines and use that in libobjc?

Trev

> 
> Andreas.
> 
> -- 
> Andreas Schwab, schwab@linux-m68k.org
> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
> "And now for something completely different."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]