Fortran passes arguments by reference. If the compiler uses a constant pool, and (lazily or efficiently, depending on your point of view) passes the constant pool location as an argument, a subroutine could inadvertently modify a constant.
FORTRAN 66 (the first ANSI standard) and FORTRAN 77 forbid passing a constant or expression as an argument that will be modified†‡, thereby blessing this implementation. (Fortran 90 and later are tl;dr.)
† http://www.fh-jena.de/~kleine/history/languages/ansi-x3dot9-... §8.4 p26
‡ http://www.fortran.com/fortran/F77_std/rjcnf-15.html#sh-15.9...