annotate gcc/testsuite/gfortran.dg/proc_ptr_33.f90 @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ! { dg-do compile }
kono
parents:
diff changeset
2 !
kono
parents:
diff changeset
3 ! PR 41733: Proc-pointer conformance checks: Elemental-proc-ptr => non-elemental-procedure
kono
parents:
diff changeset
4 !
kono
parents:
diff changeset
5 ! Contributed by James Van Buskirk
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 module funcs
kono
parents:
diff changeset
8 implicit none
kono
parents:
diff changeset
9 abstract interface
kono
parents:
diff changeset
10 real elemental function fun(x)
kono
parents:
diff changeset
11 real, intent(in) :: x
kono
parents:
diff changeset
12 end function
kono
parents:
diff changeset
13 end interface
kono
parents:
diff changeset
14 contains
kono
parents:
diff changeset
15 function my_dcos(x)
kono
parents:
diff changeset
16 real, intent(in) :: x
kono
parents:
diff changeset
17 real :: my_dcos
kono
parents:
diff changeset
18 my_dcos = cos(x)
kono
parents:
diff changeset
19 end function
kono
parents:
diff changeset
20 end module
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 program start
kono
parents:
diff changeset
23 use funcs
kono
parents:
diff changeset
24 implicit none
kono
parents:
diff changeset
25 procedure(fun), pointer :: f ! { dg-error "Procedure pointer 'f' at .1. shall not be elemental" }
kono
parents:
diff changeset
26 real x(3)
kono
parents:
diff changeset
27 x = [1,2,3]
kono
parents:
diff changeset
28 f => my_dcos ! { dg-error "Mismatch in PURE attribute" }
kono
parents:
diff changeset
29 write(*,*) f(x)
kono
parents:
diff changeset
30 end program start