I cannot reproduce your problem. I'm using
gcc version 4.9.0 20140313 (experimental) (GCC)
on x86_64-unknown-linux-gnu (Ubuntu 12.04 amd64). For me, your example program results in:
$ gfortran where.f
$ ./a.out
1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000
1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000
$ gfortran -O3 where.f
$ ./a.out
1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000
1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000 1.00000000
So, which version of gfortran are you using? Remember that 4.9 is not yet released, so the date of your prerelease version may be significant. Furthermore, which target (that is, OS & bitness) are you using? If you built GCC yourself, did you run the GCC testsuite to check that your gfortran build works otherwise and is not hopelessly broken?