OSDN Git Service

PR c++/9335
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / used_types_2.f90
1 ! { dg-do compile }
2 ! Tests the fix for PR28630, in which a contained,
3 ! derived type function caused an ICE if its definition
4 ! was both host and use associated.
5 !
6 ! Contributed by Mark Hesselink <mhesseli@alumni.caltech.edu>
7 !
8 MODULE types
9    TYPE :: t
10       INTEGER :: i
11    END TYPE
12 END MODULE types
13
14 MODULE foo
15    USE types
16 CONTAINS
17    FUNCTION bar (x) RESULT(r)
18       USE types
19       REAL, INTENT(IN) :: x
20       TYPE(t) :: r
21       r = t(0)
22    END FUNCTION bar
23 END MODULE
24
25
26 LOGICAL FUNCTION foobar (x)
27    USE foo
28    REAL, INTENT(IN) :: x
29    TYPE(t) :: c
30    foobar = .FALSE.
31    c = bar (x)
32 END FUNCTION foobar
33 ! { dg-final { cleanup-modules "types foo" } }
34