[Bug fortran/33749] Wrong evaluation of expressions in lhs of assignment statements

fxcoudert at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Oct 17 12:36:00 GMT 2007



------- Comment #4 from fxcoudert at gcc dot gnu dot org  2007-10-17 12:36 -------
(In reply to comment #3)
> You're right.  The assignment even produces the temporary for the lhs index
> that it should.  Now why on earth does this happen in 64bit mode an not in
> 32bit??

Sometimes, the difference between 32 and 64 bit is that gfortran generates
conversions for subscripts from int4 to int8 in the 64-bit case, while it uses
the int4 directly in the 32 bit case; an expression can then be an
EXPR_FUNCTION in one case (__convert_i4_i8, or something like that) and an
EXPR_CONST or EXPR_ARRAY in the other case; this difference then makes us take
different code paths. I've seen it happen for a recent PR, though I can't
remember which.


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fxcoudert at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33749



More information about the Gcc-bugs mailing list