blob: 3850ad1a9c8dbeb8477f26dd55d306f93d89895f [file] [log] [blame]
! { dg-do compile }
! { dg-options "-std=f95" }
! PR16404 test 6 - If a component of a derived type is of a type declared to
! be private, either the derived type definition must contain the PRIVATE
! statement, or the derived type must be private.
! Modified on 20051105 to test PR24534.
! Modified on 20090419 to use -std=f95, since F2003 allows public types
! with private components.
!
! Contributed by Joost VandeVondele <jv244@cam.ac.uk>
MODULE TEST
PRIVATE
TYPE :: info_type
INTEGER :: value
END TYPE info_type
TYPE :: all_type! { dg-error "PRIVATE type and cannot be a component" }
TYPE(info_type) :: info
END TYPE
TYPE :: any_type! This is OK because of the PRIVATE statement.
PRIVATE
TYPE(info_type) :: info
END TYPE
public all_type, any_type
END MODULE
END