2017-02-20 Paul Thomas <pault@gcc.gnu.org>
[official-gcc.git] / gcc / testsuite / gfortran.dg / private_type_2.f90
blob3850ad1a9c8dbeb8477f26dd55d306f93d89895f
1 ! { dg-do compile }
2 ! { dg-options "-std=f95" }
3 ! PR16404 test 6 - If a component of a derived type is of a type declared to
4 ! be private, either the derived type definition must contain the PRIVATE
5 ! statement, or the derived type must be private.
6 ! Modified on 20051105 to test PR24534.
7 ! Modified on 20090419 to use -std=f95, since F2003 allows public types
8 ! with private components.
10 ! Contributed by Joost VandeVondele <jv244@cam.ac.uk>
11 MODULE TEST
12 PRIVATE
13 TYPE :: info_type
14 INTEGER :: value
15 END TYPE info_type
16 TYPE :: all_type! { dg-error "PRIVATE type and cannot be a component" }
17 TYPE(info_type) :: info
18 END TYPE
19 TYPE :: any_type! This is OK because of the PRIVATE statement.
20 PRIVATE
21 TYPE(info_type) :: info
22 END TYPE
23 public all_type, any_type
24 END MODULE
25 END