------- Comment #4 from janus at gcc dot gnu dot org 2010-02-25 09:19 ------- Contained procedures are not affected by this bug, since a procedure contained in a pure procedure must itself be pure. Therefore something like this is invalid (as gfortran correctly detects):
module m implicit none contains pure subroutine swap implicit none real :: r1 contains pure subroutine cont real :: r2 r1 = 42. r2 = 43. end subroutine end subroutine end -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43169