1! { dg-do run } 2! From PR 19673 : We didn't dereference the result from POINTER 3! functions with a RESULT clause 4program ret_ptr 5 if (foo(99) /= bar(99)) call abort () 6contains 7 function foo (arg) result(ptr) 8 integer :: arg 9 integer, pointer :: ptr 10 allocate (ptr) 11 ptr = arg 12 end function foo 13 function bar (arg) 14 integer :: arg 15 integer, pointer :: bar 16 allocate (bar) 17 bar = arg 18 end function bar 19end program ret_ptr 20