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

Reply via email to