RISC-V: Regenerate opt urls.
[official-gcc.git] / gcc / testsuite / gfortran.dg / used_types_20.f90
blob272c0e8aacd9ce76c37824cb0b23b7eb7af72025
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'.
6 ! Contributed by Jakub Jelinek <jakub@gcc.gnu.org>
8 MODULE types
9 IMPLICIT NONE
10 TYPE :: inner
11 INTEGER, POINTER :: i(:)
12 END TYPE inner
14 TYPE :: outer
15 TYPE(inner), POINTER :: inr(:)
16 END TYPE outer
17 END MODULE types
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
30 MODULE test
31 IMPLICIT NONE
32 CONTAINS
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
43 SUBROUTINE test3(a)
44 USE types
45 IMPLICIT NONE
46 TYPE(outer), INTENT(IN) :: a
47 END SUBROUTINE test3
48 END MODULE test