blob: b829e0825a1baa92e5724e054d4adddf5684d3f7 [file] [log] [blame]
! { dg-do compile }
! { dg-options "-std=f2008" }
! PR fortran/45197
! Check for errors with IMPURE.
! Contributed by Daniel Kraft, d@domob.eu.
MODULE m
IMPLICIT NONE
CONTAINS
IMPURE PURE SUBROUTINE foobar () ! { dg-error "must not appear both" }
PURE ELEMENTAL IMPURE FUNCTION xyz () ! { dg-error "must not appear both" }
IMPURE ELEMENTAL SUBROUTINE mysub ()
END SUBROUTINE mysub
PURE SUBROUTINE purified ()
CALL mysub () ! { dg-error "is not PURE" }
END SUBROUTINE purified
END MODULE m