This is the mail archive of the gcc@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]

Re: #pragma push breaks bootstrap?



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


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