! RUN: bbc -emit-fir -o - %s | FileCheck %s | |
! CHECK-LABEL: func @_QPnolist | |
subroutine nolist | |
integer L, V | |
11 V = 1 | |
! CHECK: fir.store %c31{{.*}} to %{{.}} | |
assign 31 to L | |
! CHECK: fir.select %{{.}} : i32 [31, ^bb{{.}}, unit, ^bb{{.}}] | |
! CHECK: fir.call @_FortranAReportFatalUserError | |
goto L ! no list | |
21 V = 2 | |
go to 41 | |
31 V = 3 | |
41 print*, 3, V | |
end | |
! CHECK-LABEL: func @_QPlist | |
subroutine list | |
integer L, L1, V | |
66 format("Nonsense") | |
assign 66 to L | |
assign 42 to L1 | |
! CHECK: fir.store %c22{{.*}} to %{{.}} | |
assign 22 to L | |
12 V = 100 | |
! CHECK: fir.store %c32{{.*}} to %{{.}} | |
assign 32 to L | |
! CHECK: fir.select %{{.}} : i32 [22, ^bb{{.}}, 32, ^bb{{.}}, unit, ^bb{{.}}] | |
! CHECK: fir.call @_FortranAReportFatalUserError | |
goto L (42, 32, 22, 32, 32) ! duplicate labels are allowed | |
22 V = 200 | |
go to 42 | |
32 V = 300 | |
42 print*, 300, V | |
end | |
call nolist | |
call list | |
end |