This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: #pragma push breaks bootstrap?
- To: Nick Clifton <nickc at cygnus dot com>
- Subject: Re: #pragma push breaks bootstrap?
- From: Robert Lipe <robertl at dgii dot com>
- Date: Mon, 5 Oct 1998 22:22:19 -0500
- Cc: egcs at cygnus dot com
- References: <199810052043.NAA06657@elmo.cygnus.com>
Hi, Nick.
> The problem is that insert_pack_attributes() is being called for
> #pragma pack, (as well as #pragma pack (push,...) which is a change
> from the previous behaviour.
That sounds plausable.
> Could you try applying the patch below
> and see if it foxes the problem for you. If it does, I will tidy it
> up and submit it to egcs-patches.
Yes, this patch does indeed allow a bootstrap to proceed past the first
use of a freshly generated file.
Note careful use of weasel words to not say "it successfully bootstraps"
or "it passes the testsuite", but only to mean, "I believe this does
indeed fix the problems we can readily pin to new pragma handline. :-)
I think you nailed it. Thanx for the help, Nick!
RJL
>
>
> Index: c-pragma.c
> ======================================================================
> RCS file: /egcs/carton/cvsfiles/egcs/gcc/c-pragma.c,v retrieving
> revision 1.9 diff -p -w -r1.9 c-pragma.c *** c-pragma.c 1998/10/01
> 10:50:06 1.9 --- c-pragma.c 1998/10/05 20:40:45 ***************
> insert_pack_attributes (node, attributes *** 146,152 **** tree a;
>
> /* If we are not packing, then there is nothing to do. */ ! if
> (maximum_field_alignment == 0) return;
>
> /* We are only interested in fields. */ --- 146,153 ---- tree a;
>
> /* If we are not packing, then there is nothing to do. */ ! if
> (maximum_field_alignment == 0 ! || alignment_stack == NULL) return;
>
> /* We are only interested in fields. */
>
>
> Cheers Nick