The code is invalid (13.14.89 says about NCOPIES
"Its value should not be negative), but the
error message could definitely be improved :-)
$ cat rep.f90
program main
integer :: i
character(len=10) :: from
from = "-1"
read(unit=from, fmt="(I10)") i
print *,repeat ("a", i)
end program main
$ gfortran rep.f90
$ ./a.out
Fortran runtime error: Attempt to allocate a negative amount of memory.
--
Summary: Confusing error message for negative ncopies in REPEAT
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: diagnostic
Severity: enhancement
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tkoenig at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30611