The only way I can think of statement labels being useful in modern Fortran is for error control when using goto
s (yes, they can be useful sometimes - when handled with care ;-)). Chapman lists them under "obsolescent".
Construct names, on the other hand, might be useful sometimes to help the reader understand your code e.g. for large loops or if
statements. Another use for construct names is advanced loop control, e.g. when cycling an outer loop:
outer: do i=1,10
do ii=1,10
if ( i == 2 .and. ii == 3 ) cycle outer
z(ii,i) = 1.d0
enddo
enddo outer