Consider the following program:
program f
integer i
loop: do i = 1, 5
print *, i
end do loop
loop: do i = 1, 5
print *, i
end do loop
end program f
Gfortran compiles the program and it executes both loops.
NAG's compiler claims it is illegal.
kargl[206] f95 -o f f.f90
Error: f.f90, line 9: Duplicate construct name LOOP
detected at <end-of-statement>@LOOP
[f95 terminated - errors found by pass 1]
--
Summary: Duplicate use of construct name
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: kargl at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21257