blob: 44ba697249246670543d20ad7ba589d824ede6cd (
plain)
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
|
! { dg-do compile }
! PR 38507
! Verify that we correctly flag invalid gotos, while not flagging valid gotos.
integer i,j
do i=1,10
goto 20
20 end do ! { dg-warning "is not in the same block" }
goto 20 ! { dg-warning "is not in the same block" }
goto 25 ! { dg-warning "is not in the same block" }
goto 40 ! { dg-warning "is not in the same block" }
goto 50 ! { dg-warning "is not in the same block" }
goto 222
goto 333
goto 444
222 if (i < 0) then
25 end if ! { dg-warning "is not in the same block" }
333 if (i > 0) then
do j = 1,20
goto 30
end do
else if (i == 0) then
goto 30
else
goto 30
30 end if
444 select case(i)
case(0)
goto 50
goto 60 ! { dg-warning "is not in the same block" }
case(1)
goto 40
goto 50
40 continue ! { dg-warning "is not in the same block" }
60 continue ! { dg-warning "is not in the same block" }
50 end select ! { dg-warning "is not in the same block" }
continue
end
|