1! { dg-do compile } 2! { dg-options "-std=f95" } 3! 4! PR fortran/33106 5! 6module 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" } 13end module m1 14 15module 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" } 23end module m2 24 25module m3 26 implicit none 27 type t 28 integer :: i 29 end type t 30end module m3 31 32module 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) 39end module m4 40 41end 42