This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH 3/8] add default for PCC_BITFIELD_TYPE_MATTERS
- From: Trevor Saunders <tbsaunde at tbsaunde dot org>
- To: Jeff Law <law at redhat dot com>
- Cc: Andreas Schwab <schwab at linux-m68k dot org>, tbsaunde+gcc at tbsaunde dot org, gcc-patches at gcc dot gnu dot org
- Date: Wed, 29 Apr 2015 22:10:55 -0400
- Subject: Re: [PATCH 3/8] add default for PCC_BITFIELD_TYPE_MATTERS
- Authentication-results: sourceware.org; auth=none
- References: <1430114140-15817-1-git-send-email-tbsaunde+gcc at tbsaunde dot org> <1430114140-15817-4-git-send-email-tbsaunde+gcc at tbsaunde dot org> <87oam7nmck dot fsf at igel dot home> <20150429212811 dot GA17482 at tsaunders-iceball dot corp dot tor1 dot mozilla dot com> <87383iob0i dot fsf at igel dot home> <5541548F dot 40608 at redhat dot com> <20150429222548 dot GB17482 at tsaunders-iceball dot corp dot tor1 dot mozilla dot com> <55415B46 dot 5020801 at redhat dot com> <20150430001316 dot GC17482 at tsaunders-iceball dot corp dot tor1 dot mozilla dot com>
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 <email@example.com> 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.
> > jeff