https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89651
--- Comment #7 from Jim Feng <jfeng33 at hotmail dot com> --- (In reply to Jakub Jelinek from comment #6) > (In reply to Jim Feng from comment #5) > > (In reply to Jakub Jelinek from comment #4) > > > 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. > > > > In the test case, the array is initialized: > > > > allocate(t(n),source=0.0) > > Outside of the OpenMP region yes, but you are using private clause, and the > privatized variable is just allocated, but not initialized. You'd need to > use firstprivate(t) clause instead to copy the data too. I just did firstprivate instead of private directive. Eaxct same error.