http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54756
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |burnus at gcc dot gnu.org
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-09-29
18:30:38 UTC ---
The constraint belonging to that note (from the same corrigendum):
"C1278a An INTENT(OUT) dummy argument of a pure procedure shall not be
polymorphic."
I think the rational is that a FINAL subroutine might be IMPURE and one could
thus invoke an IMPURE procedure through that back door - and it is not
detectable at compile time.
* * *
Note that there is the related constraint:
C1284a A statement that might result in the deallocation of a polymorphic
entity is not permitted in a pure procedure.
NOTE 12.48x
Apart from the DEALLOCATE statement, this includes intrinsic assignment if the
variable has a polymorphic allocatable component at any level of component
selection that does not involve a pointer component but which might involve one
or more allocatable components.