| ! { dg-do run } | |
| ! From PR 19673 : We didn't dereference the result from POINTER | |
| ! functions with a RESULT clause | |
| program ret_ptr | |
| if (foo(99) /= bar(99)) STOP 1 | |
| contains | |
| function foo (arg) result(ptr) | |
| integer :: arg | |
| integer, pointer :: ptr | |
| allocate (ptr) | |
| ptr = arg | |
| end function foo | |
| function bar (arg) | |
| integer :: arg | |
| integer, pointer :: bar | |
| allocate (bar) | |
| bar = arg | |
| end function bar | |
| end program ret_ptr |