| ! { dg-do run } |
| ! { dg-options "-Wreturn-type" } |
| ! |
| ! Check that pr58586 is fixed now. |
| ! Based on a contribution by Vladimir Fuka |
| ! Contibuted by Andre Vehreschild |
| |
| program test_pr58586 |
| implicit none |
| |
| type :: a |
| end type |
| |
| type :: c |
| type(a), allocatable :: a |
| end type |
| |
| type :: b |
| integer, allocatable :: a |
| end type |
| |
| type :: t |
| integer, allocatable :: comp |
| end type |
| type :: u |
| type(t), allocatable :: comp |
| end type |
| |
| |
| ! These two are merely to check, if compilation works |
| call add(b()) |
| call add(b(null())) |
| |
| ! This needs to execute, to see whether the segfault at runtime is resolved |
| call add_c(c_init()) |
| |
| call sub(u()) |
| contains |
| |
| subroutine add (d) |
| type(b), value :: d |
| end subroutine |
| |
| subroutine add_c (d) |
| type(c), value :: d |
| end subroutine |
| |
| type(c) function c_init() ! { dg-warning "not set" } |
| end function |
| |
| subroutine sub(d) |
| type(u), value :: d |
| end subroutine |
| end program test_pr58586 |
| |