File: duplicate_labels.f90

package info (click to toggle)
gcc-arm-none-eabi 15%3A12.2.rel1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 959,712 kB
  • sloc: cpp: 3,275,382; ansic: 2,061,766; ada: 840,956; f90: 208,513; makefile: 76,132; asm: 73,433; xml: 50,448; exp: 34,146; sh: 32,436; objc: 15,637; fortran: 14,012; python: 11,991; pascal: 6,787; awk: 4,779; perl: 3,054; yacc: 338; ml: 285; lex: 201; haskell: 122
file content (59 lines) | stat: -rw-r--r-- 1,742 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
! { dg-do compile }
! PR 21257
program dups

  integer i,j,k

  abc: do i = 1, 3
  abc:    do j = 1, 3    ! { dg-error "Duplicate construct label" }
              k = i + j
          end do abc
       end do abc        ! { dg-error "Expecting END PROGRAM" }

  xyz: do i = 1, 2
          k = i + 2
       end do xyz
  xyz: do j = 1, 5      ! { dg-error "Duplicate construct label" }
          k = j + 2
       end do loop      ! { dg-error "Expecting END PROGRAM" }

  her: if (i == 1) then
  her:    if (j  == 1) then  ! { dg-error "Duplicate construct label" }
               k = i + j
          end if her
       end if her            ! { dg-error "Expecting END PROGRAM" }

  his: if (i == 1) then
           i = j
        end if his
  his: if (j === 1) then    ! { dg-error "Duplicate construct label" }
           print *, j
        end if his          ! { dg-error "Expecting END PROGRAM" }

  sgk: select case (i)
       case (1)
  sgk:   select case (j)    ! { dg-error "Duplicate construct label" }
          case (10)
             i = i + j
          case (20)
             j = j + i
          end select sgk
        case (2)             ! { dg-error "Unexpected CASE statement" }
            i = i + 1
            j = j + 1
        end select sgk       ! { dg-error "Expecting END PROGRAM" }

  apl: select case (i)
         case (1)
            k = 2
         case (2)
            j = 1
         end select apl
  apl: select case (i)  ! { dg-error "Duplicate construct label" }
         case (1)       ! { dg-error "Unexpected CASE statement" }
            j = 2
         case (2)       ! { dg-error "Unexpected CASE statement" }
            k = 1
         end select apl ! { dg-error "Expecting END PROGRAM" }

end program dups