26 lines
544 B
Fortran
26 lines
544 B
Fortran
|
! Tests for control-flow
|
||
|
|
||
|
! RUN: bbc -emit-fir -hlfir=false %s -o - | FileCheck %s
|
||
|
|
||
|
! check the lowering of a RETURN in the body of a SUBROUTINE
|
||
|
! CHECK-LABEL one
|
||
|
subroutine one(a,b,c)
|
||
|
d = 1.0
|
||
|
if (a .ne. b) then
|
||
|
! CHECK: call @_QPone_a
|
||
|
call one_a(d)
|
||
|
! CHECK: cond_br %{{.*}}, ^bb[[TB:.*]], ^
|
||
|
if (d .eq. 1.0) then
|
||
|
! CHECK-NEXT: ^bb[[TB]]:
|
||
|
! CHECK-NEXT: br ^bb[[EXIT:.*]]
|
||
|
return
|
||
|
endif
|
||
|
else
|
||
|
e = 4.0
|
||
|
call one_b(c,d,e)
|
||
|
endif
|
||
|
! CHECK: ^bb[[EXIT]]:
|
||
|
! CHECK-NEXT: return
|
||
|
end subroutine one
|
||
|
|