43 lines
828 B
Fortran
43 lines
828 B
Fortran
! { 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
|
|
! { dg-final { cleanup-modules "m1 m2 m3 m4" } }
|