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 Wed, Apr 29, 2015 at 08:13:16PM -0400, Trevor Saunders wrote:
> On Wed, Apr 29, 2015 at 04:29:26PM -0600, Jeff Law wrote:
> > On 04/29/2015 04:25 PM, Trevor Saunders wrote:
> > >On Wed, Apr 29, 2015 at 04:00:47PM -0600, Jeff Law wrote:
> > >>On 04/29/2015 03:55 PM, Andreas Schwab wrote:
> > >>>Trevor Saunders <tbsaunde@tbsaunde.org> writes:
> > >>>
> > >>>>it passes for me on x86_64-linux after that commit, what platform is
> > >>>>this?
> > >>>
> > >>>Any one with #undef PCC_BITFIELD_TYPE_MATTERS.  See libobjc/encoding.c.
> > >>Can't you just answer the question Andreas instead of making Trevor go
> > >>looking around?  You already have this information, why make his job harder?
> > >
> > >
> > >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 !
> > >
> > >>Trevor, try m68k-elf cross.
> > >
> > >ok, lets see if I can get this to work (its an execution test that
> > >breaks, so I'll need to setup binutils and qemu)
> > I've actually got a aranym m68k emulator here...  So I can do native
> > bootstrapping and testing for m68k linux.  If you want me to test something,
> > just let me know -- FWIW, it takes a week or so to bootstrap ;-)
> 
> Well the fix is just this
> 
> diff --git a/libobjc/encoding.c b/libobjc/encoding.c
> index 7333908..20ace46 100644
> --- a/libobjc/encoding.c
> +++ b/libobjc/encoding.c
> @@ -1167,7 +1167,7 @@ objc_layout_structure_next_member (struct objc_struct_layout *layout)
>    /* Record must have at least as much alignment as any field.
>       Otherwise, the alignment of the field within the record
>       is meaningless.  */
> -#ifndef PCC_BITFIELD_TYPE_MATTERS
> +#if !PCC_BITFIELD_TYPE_MATTERS
>    layout->record_align = MAX (layout->record_align, desired_align);
>  #else	/* PCC_BITFIELD_TYPE_MATTERS */
>    if (*type == _C_BFLD)
> 
>    I looked at the .i built for m68k-linux-elf before and after the
>    patch and it does what I expect it should do and is a pretty obvious
>    part that should go with the rest of this patch.
> 
>    Obviously something else should be done in the long run at least to
>    separate gcc and libobjc configuration, but I can't see an argument
>    for that patch not being ok for now so I'm inclined to check it in
>    with the current level of testing.

I decided to commit this, it seems like testing it can be slow on some
targets and I did a bootstrap on x86_64-linux-gnu (with regtest queued)
and it seems very very unlikely to break anything else.

Trev

> 
>    Trev
> 
> > 
> > jeff


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