error in my f/com.c change

Richard Henderson rth@cygnus.com
Sun Nov 2 11:21:00 GMT 1997


My change to f/com.c that was checked into EGCS a week or so ago
is incorrect, the symptom being an occasional abort in reload.

The problem is that, in an array reference such as A(I*3), we'll
create a tree that does not have the operands to the multiply in
the same type as the result.  I don't know exactly why this didn't
show up with A(I-1) or so, but it probably has to do with the md
patterns availible.

In any case, in the attached patch I'm more careful with the type
substitutions, only doing it for simple arithmetic that we're likely
to get benefit from in the first place.  I also recurse with the 
target type, so that expressions like A((I+1)) and A(I*3-1) are
handled in sizetype throughout.


r~


More information about the Gcc mailing list