1! { dg-do compile } 2! PR 21257 3program dups 4 5 integer i,j,k 6 7 abc: do i = 1, 3 8 abc: do j = 1, 3 ! { dg-error "Duplicate construct label" } 9 k = i + j 10 end do abc 11 end do abc ! { dg-error "Expecting END PROGRAM" } 12 13 xyz: do i = 1, 2 14 k = i + 2 15 end do xyz 16 xyz: do j = 1, 5 ! { dg-error "Duplicate construct label" } 17 k = j + 2 18 end do loop ! { dg-error "Expecting END PROGRAM" } 19 20 her: if (i == 1) then 21 her: if (j == 1) then ! { dg-error "Duplicate construct label" } 22 k = i + j 23 end if her 24 end if her ! { dg-error "Expecting END PROGRAM" } 25 26 his: if (i == 1) then 27 i = j 28 end if his 29 his: if (j === 1) then ! { dg-error "Duplicate construct label" } 30 print *, j 31 end if his ! { dg-error "Expecting END PROGRAM" } 32 33 sgk: select case (i) 34 case (1) 35 sgk: select case (j) ! { dg-error "Duplicate construct label" } 36 case (10) 37 i = i + j 38 case (20) 39 j = j + i 40 end select sgk 41 case (2) ! { dg-error "Unexpected CASE statement" } 42 i = i + 1 43 j = j + 1 44 end select sgk ! { dg-error "Expecting END PROGRAM" } 45 46 apl: select case (i) 47 case (1) 48 k = 2 49 case (2) 50 j = 1 51 end select apl 52 apl: select case (i) ! { dg-error "Duplicate construct label" } 53 case (1) ! { dg-error "Unexpected CASE statement" } 54 j = 2 55 case (2) ! { dg-error "Unexpected CASE statement" } 56 k = 1 57 end select apl ! { dg-error "Expecting END PROGRAM" } 58 59end program dups 60