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
8! RUN: %flang_fc1 -fdebug-unparse-with-symbols -pedantic %s 2>%t.stderr | FileCheck %s
9
10! CHECK: end do
11
12! The following CHECK-NOT actively uses the fact that the leading zero of labels
13! would be removed in the unparse but not the line linked to warnings. We do
14! not want to see label do in the unparse only.
15! CHECK-NOT: do [1-9]
16
17! RUN: FileCheck --check-prefix=ERR --input-file=%t.stderr %s
18! ERR: A DO loop should terminate with an END DO or CONTINUE
19
20subroutine foo3()
21  real :: a(10, 10), b(10, 10) = 1.0
22  do 01 k=1,4
23    associate (x=>a(k+1, 2*k), y=>b(k, 2*k-1))
24      x = 4*x*x + x*y -2*y
2501  end associate
26end subroutine
27