| ! { dg-do compile } |
| ! { dg-options "-std=f95" } |
| ! |
| ! PR fortran/33106 |
| ! |
| module m1 |
| implicit none |
| type, private :: t |
| integer :: i |
| end type t |
| type(t), public :: one ! { dg-error "PRIVATE derived type" } |
| type(t), public, parameter :: two = t(2) ! { dg-error "PRIVATE derived type" } |
| end module m1 |
| |
| module m2 |
| implicit none |
| private |
| type t |
| integer :: i |
| end type t |
| type(t), public :: one ! { dg-error "PRIVATE derived type" } |
| type(t), public, parameter :: two = t(2) ! { dg-error "PRIVATE derived type" } |
| end module m2 |
| |
| module m3 |
| implicit none |
| type t |
| integer :: i |
| end type t |
| end module m3 |
| |
| module m4 |
| use m3!, only: t |
| implicit none |
| private |
| private :: t |
| type(t), public :: one |
| type(t), public, parameter :: two = t(2) |
| end module m4 |
| |
| end |