• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 foo6(a)
20  type whatever
21    class(*), allocatable :: x
22  end type
23  type(whatever) :: a(10)
24  do 01 k=1,10
25    select type (ax => a(k)%x)
26      type is (integer)
27        print*, "integer: ", ax
28      class default
29        print*, "not useable"
3001  end select
31end subroutine
32