Measuring alignment

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Thu Mar 30 04:57:00 GMT 2000


    But it seems you introdruced or exposed some others. :-(

    I can't bootstrap on i686-linux any more:

    /cvs/gcc/gcc/libgcc2.c: In function `new_eh_context':
    /cvs/gcc/gcc/libgcc2.c:3037: Internal compiler error in `clear_by_pieces', at expr.c:2318

It bootstraps on Alpha and I don't have an x86 cross-compiler handy,
but I do see an error in that function, so please let me know if this
fixes it:

*** expr.c	2000/03/30 11:47:05	1.224
--- expr.c	2000/03/30 12:55:32
*************** clear_by_pieces (to, len, align)
*** 2292,2296 ****
    if (! SLOW_UNALIGNED_ACCESS (word_mode, align)
        || align > MOVE_MAX * BITS_PER_UNIT || align >= BIGGEST_ALIGNMENT)
!     align = MOVE_MAX;
  
    /* First move what we can in the largest integer mode, then go to
--- 2292,2296 ----
    if (! SLOW_UNALIGNED_ACCESS (word_mode, align)
        || align > MOVE_MAX * BITS_PER_UNIT || align >= BIGGEST_ALIGNMENT)
!     align = MOVE_MAX * BITS_PER_UNIT;
  
    /* First move what we can in the largest integer mode, then go to


More information about the Gcc-patches mailing list