https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89651
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- On the other side, the testcase is invalid, because you are summing uninitialized data. It is like if you did: program pr89651 integer :: n real, allocatable :: t(:) n = 10 allocate (t(n)) print *, sum (t) end program pr89651 but it is true gfortran doesn't warn here either. And we do warn even with firstprivate(t) when it is not undefined.