! { 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 !============== 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