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