blob: 4bc2ca1fba69b27b219b5b560407d7ecb297c33f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
! { 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
! { dg-final { cleanup-modules "m" } }
|