2017-02-20 Paul Thomas <pault@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gfortran.dg / private_type_9.f90
blob078041ae0bec19651befa2639b8c085d5e8b9d84
1 ! { dg-do compile }
2 ! { dg-options "-std=f95" }
4 ! PR fortran/33106
6 module m1
7 implicit none
8 type, private :: t
9 integer :: i
10 end type t
11 type(t), public :: one ! { dg-error "PRIVATE derived type" }
12 type(t), public, parameter :: two = t(2) ! { dg-error "PRIVATE derived type" }
13 end module m1
15 module m2
16 implicit none
17 private
18 type t
19 integer :: i
20 end type t
21 type(t), public :: one ! { dg-error "PRIVATE derived type" }
22 type(t), public, parameter :: two = t(2) ! { dg-error "PRIVATE derived type" }
23 end module m2
25 module m3
26 implicit none
27 type t
28 integer :: i
29 end type t
30 end module m3
32 module m4
33 use m3!, only: t
34 implicit none
35 private
36 private :: t
37 type(t), public :: one
38 type(t), public, parameter :: two = t(2)
39 end module m4
41 end