| ! 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 | |