! { dg-do compile } ! PR fortran/63514.f90 program foo implicit none integer, volatile :: n n = 0 call bar call bah contains subroutine bar integer k integer, volatile :: m block integer, save :: i integer, volatile :: j i = 42 j = 2 * i k = i + j + n end block end subroutine bar pure subroutine bah integer k integer, volatile :: m ! { dg-error "cannot be specified in a PURE" } block integer, save :: i ! { dg-error "cannot be specified in a PURE" } integer, volatile :: j ! { dg-error "cannot be specified in a PURE" } i = 42 ! { dg-error "has no IMPLICIT type" } j = 2 * i ! { dg-error "has no IMPLICIT type" } k = i + j + n end block m = k * m ! { dg-error "has no IMPLICIT type" } end subroutine bah end program foo