[Bug fortran/56136] [OOP] ICE on lhs-reallocation of an object with overloaded (elemental) assignment operator

janus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jan 29 08:39:00 GMT 2013


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

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|                            |2013-01-29
                 CC|                            |janus at gcc dot gnu.org
     Ever Confirmed|0                           |1
            Summary|Compiler fails when code    |[OOP] ICE on
                   |contains lhs-reallocation   |lhs-reallocation of an
                   |of an object with           |object with overloaded
                   |overloaded (elemental)      |(elemental) assignment
                   |Assignment operator         |operator

--- Comment #1 from janus at gcc dot gnu.org 2013-01-29 08:38:36 UTC ---
Confirmed with 4.7 and trunk. 4.6 yields:

  A = A(1:50)
             1
Error: Non-scalar base object at (1) currently not implemented


This slightly different variant also ICEs with 4.6:

MODULE A_TEST_M

  TYPE :: A_TYPE
  END TYPE

  INTERFACE ASSIGNMENT (=)
    MODULE PROCEDURE ASGN_A
  END INTERFACE

 CONTAINS

  ELEMENTAL SUBROUTINE ASGN_A (A, B)
    CLASS (A_TYPE), INTENT (INOUT) :: A
    CLASS (A_TYPE), INTENT (IN) :: B
  END SUBROUTINE

END MODULE A_TEST_M

PROGRAM ASGN_REALLOC_TEST
  USE A_TEST_M
  TYPE (A_TYPE), ALLOCATABLE :: A(:)

  ALLOCATE (A(100))
  A = A(1:50)
END PROGRAM



More information about the Gcc-bugs mailing list