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 -pedantic
6
7! RUN: %flang_fc1 -fdebug-unparse-with-symbols -pedantic %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 foo10()
20  real :: a(10, 10), b(10, 10) = 1.0
21  do 01 k=1,4
22    where (a<k)
23      a = a + b
24      b = a - b
25    elsewhere
26      a = a*2
2701  end where
28end subroutine
29