annotate gcc/testsuite/gfortran.dg/class_2.f03 @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +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 ! { dg-options "-std=f2003" }
kono
parents:
diff changeset
3 !
kono
parents:
diff changeset
4 ! PR 40940: CLASS statement
kono
parents:
diff changeset
5 !
kono
parents:
diff changeset
6 ! Contributed by Janus Weil <janus@gcc.gnu.org>
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 use,intrinsic :: iso_c_binding
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 type t1
kono
parents:
diff changeset
11 integer :: comp
kono
parents:
diff changeset
12 end type
kono
parents:
diff changeset
13
kono
parents:
diff changeset
14 type t2
kono
parents:
diff changeset
15 sequence
kono
parents:
diff changeset
16 real :: r
kono
parents:
diff changeset
17 end type
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 type,bind(c) :: t3
kono
parents:
diff changeset
20 integer(c_int) :: i
kono
parents:
diff changeset
21 end type
kono
parents:
diff changeset
22
kono
parents:
diff changeset
23 type :: t4
kono
parents:
diff changeset
24 procedure(absint), pointer :: p ! { dg-error "Non-polymorphic passed-object dummy argument" }
kono
parents:
diff changeset
25 end type
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 type :: t5
kono
parents:
diff changeset
28 class(t1) :: c ! { dg-error "must be allocatable or pointer" }
kono
parents:
diff changeset
29 end type
kono
parents:
diff changeset
30
kono
parents:
diff changeset
31 abstract interface
kono
parents:
diff changeset
32 subroutine absint(arg)
kono
parents:
diff changeset
33 import :: t4
kono
parents:
diff changeset
34 type(t4) :: arg
kono
parents:
diff changeset
35 end subroutine
kono
parents:
diff changeset
36 end interface
kono
parents:
diff changeset
37
kono
parents:
diff changeset
38 type t6
kono
parents:
diff changeset
39 integer :: i
kono
parents:
diff changeset
40 class(t6), allocatable :: foo ! { dg-error "must have the POINTER attribute" }
kono
parents:
diff changeset
41 end type t6
kono
parents:
diff changeset
42
kono
parents:
diff changeset
43
kono
parents:
diff changeset
44 class(t1) :: o1 ! { dg-error "must be dummy, allocatable or pointer" }
kono
parents:
diff changeset
45
kono
parents:
diff changeset
46 class(t2), pointer :: o2 ! { dg-error "is not extensible" }
kono
parents:
diff changeset
47 class(t3), pointer :: o3 ! { dg-error "is not extensible" }
kono
parents:
diff changeset
48
kono
parents:
diff changeset
49 end
kono
parents:
diff changeset
50