annotate gcc/testsuite/gfortran.dg/pointer_init_6.f90 @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 1830386684a0
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 45290: [F08] pointer initialization
kono
parents:
diff changeset
4 !
kono
parents:
diff changeset
5 ! Contributed by Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 module m1
kono
parents:
diff changeset
8 implicit none
kono
parents:
diff changeset
9 type :: t
kono
parents:
diff changeset
10 integer, pointer :: p
kono
parents:
diff changeset
11 integer :: i
kono
parents:
diff changeset
12 end type
kono
parents:
diff changeset
13 integer, target :: i
kono
parents:
diff changeset
14 type(t), target :: x
kono
parents:
diff changeset
15 integer, pointer :: p1 => i
kono
parents:
diff changeset
16 integer, pointer :: p2 => p1 ! { dg-error "must have the TARGET attribute" }
kono
parents:
diff changeset
17 integer, pointer :: p3 => x%p ! { dg-error "must have the TARGET attribute" }
kono
parents:
diff changeset
18 integer, pointer :: p4 => x%i
kono
parents:
diff changeset
19 integer, pointer :: p5 => u ! { dg-error "has no IMPLICIT type" }
kono
parents:
diff changeset
20 end module m1
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22
kono
parents:
diff changeset
23 module m2
kono
parents:
diff changeset
24
kono
parents:
diff changeset
25 type :: t
kono
parents:
diff changeset
26 procedure(s), pointer, nopass :: ppc
kono
parents:
diff changeset
27 end type
kono
parents:
diff changeset
28 type(t) :: x
kono
parents:
diff changeset
29 procedure(s), pointer :: pp1 => s
kono
parents:
diff changeset
30 procedure(s), pointer :: pp2 => pp1 ! { dg-error "may not be a procedure pointer" }
kono
parents:
diff changeset
31 procedure(s), pointer :: pp3 => t%ppc ! { dg-error "Symbol 't' at .1. has no IMPLICIT type" }
kono
parents:
diff changeset
32
kono
parents:
diff changeset
33 contains
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 subroutine s
kono
parents:
diff changeset
36 end subroutine
kono
parents:
diff changeset
37
kono
parents:
diff changeset
38 end module m2