*** src/gcc/stor-layout.c.old	Tue Dec 11 13:33:44 2001
--- src/gcc/stor-layout.c	Tue Dec 11 13:36:23 2001
*************** layout_union (rec)
*** 714,719 ****
--- 714,720 ----
  {
    register tree field;
    unsigned union_align = BITS_PER_UNIT;
+   unsigned desired_align;
  
    /* The size of the union, based on the fields scanned so far,
       is max (CONST_SIZE, VAR_SIZE).
*************** layout_union (rec)
*** 744,752 ****
        layout_decl (field, 0);
        DECL_FIELD_BITPOS (field) = bitsize_int (0L, 0L);
  
!       /* Union must be at least as aligned as any field requires.  */
  
!       union_align = MAX (union_align, DECL_ALIGN (field));
  
  #ifdef PCC_BITFIELD_TYPE_MATTERS
        /* On the m88000, a bit field of declare type `int'
--- 745,758 ----
        layout_decl (field, 0);
        DECL_FIELD_BITPOS (field) = bitsize_int (0L, 0L);
  
! #ifdef ADJUST_FIELD_ALIGN
!       desired_align = ADJUST_FIELD_ALIGN (field, DECL_ALIGN (field));
! #else
!       desired_align = DECL_ALIGN (field);
! #endif
  
!       /* Union must be at least as aligned as any field requires.  */
!       union_align = MAX (union_align, desired_align);
  
  #ifdef PCC_BITFIELD_TYPE_MATTERS
        /* On the m88000, a bit field of declare type `int'

