OSDN Git Service

* gcc.dg/20020919-1.c: Correct target selector to alpha*-*-*.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / used_types_20.f90
1 ! { dg-do compile }
2 ! Tests the fix for PR36366 a regression in which the order of USE statements
3 ! in 'test2' would cause the result of 'test1' not to have a reference to
4 ! the derived type 'inner'.
5 !
6 ! Contributed by Jakub Jelinek <jakub@gcc.gnu.org>
7 !
8 MODULE types
9   IMPLICIT NONE
10   TYPE :: inner
11     INTEGER, POINTER :: i(:)
12   END TYPE inner
13
14   TYPE :: outer
15     TYPE(inner), POINTER :: inr(:)
16   END TYPE outer
17 END MODULE types
18
19 MODULE mymod
20   IMPLICIT NONE
21 CONTAINS
22   FUNCTION test1()
23     USE types
24     IMPLICIT NONE
25     TYPE(outer), POINTER :: test1
26     NULLIFY(test1)
27   END FUNCTION test1
28 END MODULE mymod
29
30 MODULE test
31   IMPLICIT NONE
32 CONTAINS
33
34   SUBROUTINE test2(a)
35     USE mymod
36     USE types
37     IMPLICIT NONE
38     TYPE(outer), INTENT(INOUT) :: a
39     INTEGER :: i
40     i = a%inr(1)%i(1)
41   END SUBROUTINE test2
42
43   SUBROUTINE test3(a)
44     USE types
45     IMPLICIT NONE
46     TYPE(outer), INTENT(IN) :: a
47   END SUBROUTINE test3
48 END MODULE test
49 ! { dg-final { cleanup-modules "types mymod test" } }