[Bug fortran/48699] [4.6/4.7 Regression] [OOP] MOVE_ALLOC inside SELECT TYPE
burnus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Nov 26 15:18:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48699
--- Comment #21 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-11-26 14:32:45 UTC ---
This comment is (just) for cross reference. The patch at
http://gcc.gnu.org/ml/fortran/2011-11/msg00217.html
fixes some MOVE_ALLOC issues, including the following one.
Most of the examples in this PR are actually invalid as in MOVE_ALLOC either
both arguments shall be polymorphic or both nonpolymorphic.
For instance (comment 9):
> class(bar), allocatable :: sm
> type(bar2), allocatable :: sm2
> call move_alloc(sm2,sm)
wrongly mixes them.
But also (comment 4):
class(bar), allocatable :: sm,sm2
select type(sm2)
type is (bar)
call move_alloc(sm2,sm)
end select
where "sm2" is nonpolymorphic due to the TYPE IS: Fortran 2008, 8.1.9.2, states
that "within the block following a TYPE IS type guard statement, the
associating entity (16.5.5) is not polymorphic"
More information about the Gcc-bugs
mailing list