peter klausler 9eab0da183 [flang] Catch branching into FORALL/WHERE constructs
Enforce constraints C1034 & C1038, which disallow the use
of otherwise valid statements as branch targets when they
appear in FORALL &/or WHERE constructs.  (And make the
diagnostic message somewhat more user-friendly.)

Differential Revision: https://reviews.llvm.org/D109936
2021-09-27 10:51:44 -07:00

16 lines
466 B
Fortran

! RUN: not %flang_fc1 -fdebug-unparse-with-symbols %s 2>&1 | FileCheck %s
! CHECK: Label '30' is not a branch target
! CHECK: Control flow use of '30'
! CHECK: Label '10' is in a construct that prevents its use as a branch target here
! CHECK: Label '20' was not found
! CHECK: Label '60' was not found
subroutine sub00(n,m)
30 format (i6,f6.2)
if (n .eq. m) then
10 print *,"equal"
end if
call sub01(n,*10,*20,*30)
write (*,60) n, m
end subroutine sub00