1! { dg-do compile } 2! { dg-options "-fwhole-file" } 3! 4! Tests the fix PR40011 comment 16 in which the derived type lists in 5! different program units were getting mixed up. 6! 7! Contributed by Daniel Franck <dfranke@gcc.gnu.org> 8! 9MODULE module_foo 10 TYPE :: foo_node 11 TYPE(foo_node_private), POINTER :: p 12 END TYPE 13 14 TYPE :: foo_node_private 15 TYPE(foo_node), DIMENSION(-1:1) :: link 16 END TYPE 17 18 TYPE :: foo 19 TYPE(foo_node) :: root 20 END TYPE 21END MODULE 22 23FUNCTION foo_insert() 24 USE module_foo, ONLY: foo, foo_node 25 26 INTEGER :: foo_insert 27 TYPE(foo_node) :: parent, current 28 INTEGER :: cmp 29 30 parent = current 31 current = current%p%link(cmp) 32END FUNCTION 33 34FUNCTION foo_count() 35 USE module_foo, ONLY: foo 36 INTEGER :: foo_count 37END FUNCTION 38