1! { dg-do run } 2! 3! PR 40594: [4.5 Regression] wrong-code 4! 5! Original test case by Daniel Franke <dfranke@gcc.gnu.org> 6! Modified by Janus Weil <janus@gcc.gnu.org> 7 8MODULE atom_types 9 10TYPE :: atom_list 11 TYPE(atom_private), DIMENSION(:), pointer :: table 12END TYPE 13 14TYPE :: atom_private 15 TYPE(atom_list) :: neighbours 16 LOGICAL :: initialized = .true. 17END TYPE 18 19TYPE :: atom_model 20 TYPE(atom_list) :: atoms 21 integer :: dummy 22END TYPE 23 24contains 25 26 SUBROUTINE init(this) 27 TYPE(atom_private) :: this 28 this%initialized = .FALSE. 29 END SUBROUTINE 30 31END MODULE 32 33 34program pr40594 35 36 USE atom_types 37 TYPE(atom_model) :: am 38 type(atom_private) :: ap 39 40 am%dummy = 0 41 42 call init(ap) 43 if (ap%initialized .neqv. .false.) call abort() 44 45END 46