1! Error test -- DO loop uses obsolete loop termination statement (warning)
2! See R1131 and C1133
3
4! By default, this is not an error and label do are rewritten to non-label do.
5! A warning is generated with -Mstandard
6
7! RUN: %f18 -funparse-with-symbols -Mstandard %s 2>%t.stderr | FileCheck %s
8
9! CHECK: end do
10
11! The following CHECK-NOT actively uses the fact that the leading zero of labels
12! would be removed in the unparse but not the line linked to warnings. We do
13! not want to see label do in the unparse only.
14! CHECK-NOT: do [1-9]
15
16! RUN: FileCheck --check-prefix=ERR --input-file=%t.stderr %s
17! ERR: A DO loop should terminate with an END DO or CONTINUE
18
19subroutine foo7(a)
20  integer :: a(..)
21  do 01 k=1,10
22    select rank (a)
23      rank (0)
24        a = a+k
25      rank (1)
26        a(k) = a(k)+k
27      rank default
28        print*, "error"
2901  end select
30end subroutine
31