aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/used_dummy_types_3.f90
blob: 5ff7608424898586768f54963c2b470e7e20f98f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
! { dg-do compile }
! This checks the fix for PR20864 in which same name, USE associated
! derived types from different modules, with private components were
! not recognised to be different.
!
! Contributed by Joost VandVondele  <jv244@cam.ac.uk>
!==============
  MODULE T1
    TYPE data_type
      SEQUENCE
  ! private causes the types in T1 and T2 to be different 4.4.2
      PRIVATE
      INTEGER :: I
    END TYPE
  END MODULE

  MODULE T2
    TYPE data_type
      SEQUENCE
      PRIVATE
      INTEGER :: I
    END TYPE

  CONTAINS

    SUBROUTINE TEST(x)
      TYPE(data_type) :: x
    END SUBROUTINE TEST
  END MODULE

    USE T1
    USE T2 , ONLY : TEST
    TYPE(data_type) :: x
    CALL TEST(x)         ! { dg-error "Type mismatch in argument" }
  END