This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/33749] Wrong evaluation of expressions in lhs of assignment statements
- From: "fxcoudert at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 17 Oct 2007 12:36:25 -0000
- Subject: [Bug fortran/33749] Wrong evaluation of expressions in lhs of assignment statements
- References: <bug-33749-10374@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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