Jakub Jelinek <jakub at gcc dot> changed:

           What    |Removed                     |Added
                 CC|                            |jakub at gcc dot

--- Comment #8 from Jakub Jelinek <jakub at gcc dot> ---
expand_assignment is called with
REALPART_EXPR <MEM[(complex(kind=4) &)&C.3418]>
as to, where C.3418 is CONST_DECL.
Of course one can't store into a CONST_DECL.
If I compare this to how we compile:
program p
      subroutine s(x)
         real :: x
   end interface
   call s(1.0)
subroutine s(x)
   real :: x
   x = x + 1
then the difference is that
to_rtx = expand_expr (to, NULL_RTX, VOIDmode, EXPAND_WRITE);
in that case returns
(mem:SF (reg/f:DI 90) [1 C.3418+0 S4 A32])
and not the CONST_DOUBLE.  I'll have a look.

Reply via email to