https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85703
--- Comment #1 from G. Steinmetz <gs...@t-online.de> --- Compiles with result type changed to real or integer, etc. $ cat z2.f90 real function f() !$acc parallel loop reduction(+:a) do i = 1, 4 end do !$acc end parallel loop end Compiles with explicit result declaration : $ cat z3.f90 function f() result(z) character :: z integer :: i !$acc parallel loop reduction(+:a) do i = 1, 4 end do !$acc end parallel loop end