[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