Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/spec_expr_6.f90 @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
! { dg-do compile } ! ! PR fortran/43591 ! ! Pureness check for TPB/PPC in specification expressions ! ! Based on a test case of Thorsten Ohl ! ! module m implicit none type t procedure(p1_type), nopass, pointer :: p1 => NULL() contains procedure, nopass :: tbp => p1_type end type t contains subroutine proc (t1, t2) type(t), intent(in) :: t1, t2 integer, dimension(t1%p1(), t2%tbp()) :: table end subroutine proc pure function p1_type() integer :: p1_type p1_type = 42 end function p1_type pure subroutine p(t1) type(t), intent(inout) :: t1 integer :: a(t1%p1()) end subroutine p end module m module m2 implicit none type t procedure(p1_type), nopass, pointer :: p1 => NULL() contains procedure, nopass :: tbp => p1_type end type t contains subroutine proc (t1, t2) type(t), intent(in) :: t1, t2 integer, dimension(t1%p1()) :: table1 ! { dg-error "must be PURE" } integer, dimension(t2%tbp()) :: table2 ! { dg-error "must be PURE" } end subroutine proc function p1_type() integer :: p1_type p1_type = 42 end function p1_type end module m2