On Thu, Apr 30, 2015 at 08:25:14AM -0400, Trevor Saunders wrote:
> On Thu, Apr 30, 2015 at 08:40:50AM +0200, Andreas Schwab wrote:
> > Trevor Saunders <tbsau...@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?
I think adding way too many predefines, especially rarely used ones, is
harmful, certainly it isn't free, consider -g3 or -dD where it will all end
up in, additional gcc start overhead, ... 
Can't just libobjc configury test for that?

        Jakub

Reply via email to