aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/impure_2.f08
blob: b829e0825a1baa92e5724e054d4adddf5684d3f7 (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
! { 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