[flang-commits] [flang] [flang] Converting old lowering tests to the new lowering (PR #172246)
via flang-commits
flang-commits at lists.llvm.org
Sun Dec 14 20:33:26 PST 2025
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 3851 tests passed
* 201 tests skipped
* 2 tests failed
## Failed Tests
(click on a test name to see its output)
### Flang
<details>
<summary>Flang.Lower/allocatable-caller.f90</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
bbc -emit-fir /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-caller.f90 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-caller.f90
# executed command: bbc -emit-fir /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-caller.f90 -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-caller.f90
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-caller.f90:15:11: error: CHECK: expected string not found in input
# | ! CHECK: fir.call @_QPtest_scalar(%[[box]]) {{.*}}: (!fir.ref<!fir.box<!fir.heap<f32>>>) -> ()
# | ^
# | <stdin>:5:98: note: scanning from here
# | %1 = fir.alloca !fir.box<!fir.heap<f32>> {bindc_name = "x", uniq_name = "_QFtest_scalar_callEx"}
# | ^
# | <stdin>:5:98: note: with "box" equal to "1"
# | %1 = fir.alloca !fir.box<!fir.heap<f32>> {bindc_name = "x", uniq_name = "_QFtest_scalar_callEx"}
# | ^
# | <stdin>:9:68: note: possible intended match here
# | %4 = fir.declare %1 {fortran_attrs = #fir.var_attrs<allocatable>, uniq_name = "_QFtest_scalar_callEx"} : (!fir.ref<!fir.box<!fir.heap<f32>>>) -> !fir.ref<!fir.box<!fir.heap<f32>>>
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-caller.f90:28:11: error: CHECK: expected string not found in input
# | ! CHECK: fir.call @_QPtest_array(%[[box]]) {{.*}}: (!fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>) -> ()
# | ^
# | <stdin>:27:111: note: scanning from here
# | %1 = fir.alloca !fir.box<!fir.heap<!fir.array<?xi32>>> {bindc_name = "x", uniq_name = "_QFtest_array_callEx"}
# | ^
# | <stdin>:27:111: note: with "box" equal to "1"
# | %1 = fir.alloca !fir.box<!fir.heap<!fir.array<?xi32>>> {bindc_name = "x", uniq_name = "_QFtest_array_callEx"}
# | ^
# | <stdin>:33:30: note: possible intended match here
# | fir.call @_QPtest_array(%5) fastmath<contract> : (!fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>) -> ()
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-caller.f90:41:11: error: CHECK: expected string not found in input
# | ! CHECK: fir.call @_QPtest_char_scalar_deferred(%[[box]]) {{.*}}: (!fir.ref<!fir.box<!fir.heap<!fir.char<1,?>>>>) -> ()
# | ^
# | <stdin>:50:123: note: scanning from here
# | %1 = fir.alloca !fir.box<!fir.heap<!fir.char<1,?>>> {bindc_name = "x", uniq_name = "_QFtest_char_scalar_deferred_callEx"}
# | ^
# | <stdin>:50:123: note: with "box" equal to "1"
# | %1 = fir.alloca !fir.box<!fir.heap<!fir.char<1,?>>> {bindc_name = "x", uniq_name = "_QFtest_char_scalar_deferred_callEx"}
# | ^
# | <stdin>:54:65: note: possible intended match here
# | %4 = fir.declare %1 {fortran_attrs = #fir.var_attrs<allocatable>, uniq_name = "_QFtest_char_scalar_deferred_callEx"} : (!fir.ref<!fir.box<!fir.heap<!fir.char<1,?>>>>) -> !fir.ref<!fir.box<!fir.heap<!fir.char<1,?>>>>
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-caller.f90:57:11: error: CHECK: expected string not found in input
# | ! CHECK: fir.call @_QPtest_char_scalar_explicit(%[[box]]) {{.*}}: (!fir.ref<!fir.box<!fir.heap<!fir.char<1,10>>>>) -> ()
# | ^
# | <stdin>:79:125: note: scanning from here
# | %6 = fir.alloca !fir.box<!fir.heap<!fir.char<1,?>>> {bindc_name = "x2", uniq_name = "_QFtest_char_scalar_explicit_callEx2"}
# | ^
# | <stdin>:79:125: note: with "box" equal to "2"
# | %6 = fir.alloca !fir.box<!fir.heap<!fir.char<1,?>>> {bindc_name = "x2", uniq_name = "_QFtest_char_scalar_explicit_callEx2"}
# | ^
# | <stdin>:87:2: note: possible intended match here
# | fir.call @_QPtest_char_scalar_explicit(%5) fastmath<contract> : (!fir.ref<!fir.box<!fir.heap<!fir.char<1,10>>>>) -> ()
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-caller.f90:73:11: error: CHECK: expected string not found in input
# | ! CHECK: fir.call @_QPtest_char_array_deferred(%[[box]]) {{.*}}: (!fir.ref<!fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>>>) -> ()
# | ^
# | <stdin>:116:136: note: scanning from here
# | %1 = fir.alloca !fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>> {bindc_name = "x", uniq_name = "_QFtest_char_array_deferred_callEx"}
# | ^
# | <stdin>:116:136: note: with "box" equal to "1"
# | %1 = fir.alloca !fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>> {bindc_name = "x", uniq_name = "_QFtest_char_array_deferred_callEx"}
# | ^
# | <stdin>:122:2: note: possible intended match here
# | fir.call @_QPtest_char_array_deferred(%5) fastmath<contract> : (!fir.ref<!fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>>>) -> ()
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-caller.f90:89:11: error: CHECK: expected string not found in input
# | ! CHECK: fir.call @_QPtest_char_array_explicit(%[[box]]) {{.*}}: (!fir.ref<!fir.box<!fir.heap<!fir.array<?x!fir.char<1,10>>>>>) -> ()
# | ^
# | <stdin>:148:138: note: scanning from here
# | %7 = fir.alloca !fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>> {bindc_name = "x2", uniq_name = "_QFtest_char_array_explicit_callEx2"}
# | ^
# | <stdin>:148:138: note: with "box" equal to "2"
# | %7 = fir.alloca !fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>> {bindc_name = "x2", uniq_name = "_QFtest_char_array_explicit_callEx2"}
# | ^
# | <stdin>:190:12: note: possible intended match here
# | func.func private @_QPtest_char_array_explicit(!fir.ref<!fir.box<!fir.heap<!fir.array<?x!fir.char<1,10>>>>>)
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-caller.f90
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: module attributes {dlti.dl_spec = #dlti.dl_spec<!llvm.ptr<270> = dense<32> : vector<4xi64>, !llvm.ptr<271> = dense<32> : vector<4xi64>, !llvm.ptr<272> = dense<64> : vector<4xi64>, i64 = dense<64> : vector<2xi64>, i128 = dense<128> : vector<2xi64>, f80 = dense<128> : vector<2xi64>, !llvm.ptr = dense<64> : vector<4xi64>, i1 = dense<8> : vector<2xi64>, i8 = dense<8> : vector<2xi64>, i16 = dense<16> : vector<2xi64>, i32 = dense<32> : vector<2xi64>, f16 = dense<16> : vector<2xi64>, f64 = dense<64> : vector<2xi64>, f128 = dense<128> : vector<2xi64>, "dlti.endianness" = "little", "dlti.mangling_mode" = "e", "dlti.legal_int_widths" = array<i32: 8, 16, 32, 64>, "dlti.stack_alignment" = 128 : i64>, fir.defaultkind = "a1c4d8i4l4r4", fir.kindmap = "", llvm.data_layout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128", llvm.ident = "flang version 22.0.0 (https://github.com/llvm/llvm-project 1aaf71099650e5f38e49587d96e1ef9498cced64)", llvm.target_triple = "x86_64-unknown-linux-gnu"} {
# | 2: func.func @_QPtest_scalar_call() {
# | 3: %c0_i64 = arith.constant 0 : i64
# | 4: %0 = fir.dummy_scope : !fir.dscope
# | 5: %1 = fir.alloca !fir.box<!fir.heap<f32>> {bindc_name = "x", uniq_name = "_QFtest_scalar_callEx"}
# | check:15'0 X error: no match found
# | check:15'1 with "box" equal to "1"
# | 6: %2 = fir.zero_bits !fir.heap<f32>
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 7: %3 = fir.embox %2 : (!fir.heap<f32>) -> !fir.box<!fir.heap<f32>>
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 8: fir.store %3 to %1 : !fir.ref<!fir.box<!fir.heap<f32>>>
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 9: %4 = fir.declare %1 {fortran_attrs = #fir.var_attrs<allocatable>, uniq_name = "_QFtest_scalar_callEx"} : (!fir.ref<!fir.box<!fir.heap<f32>>>) -> !fir.ref<!fir.box<!fir.heap<f32>>>
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:15'2 ? possible intended match
# | 10: fir.call @_QPtest_scalar(%4) fastmath<contract> : (!fir.ref<!fir.box<!fir.heap<f32>>>) -> ()
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 11: %5 = fir.load %4 : !fir.ref<!fir.box<!fir.heap<f32>>>
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 12: %6 = fir.box_addr %5 : (!fir.box<!fir.heap<f32>>) -> !fir.heap<f32>
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 13: %7 = fir.convert %6 : (!fir.heap<f32>) -> i64
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 14: %8 = arith.cmpi ne, %7, %c0_i64 : i64
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 22: }
# | check:15'0 ~~~
# | 23: func.func @_QPtest_array_call() {
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 24: %c0_i64 = arith.constant 0 : i64
# | 25: %c0 = arith.constant 0 : index
# | 26: %0 = fir.dummy_scope : !fir.dscope
# | 27: %1 = fir.alloca !fir.box<!fir.heap<!fir.array<?xi32>>> {bindc_name = "x", uniq_name = "_QFtest_array_callEx"}
# | check:28'0 X error: no match found
# | check:28'1 with "box" equal to "1"
# | 28: %2 = fir.zero_bits !fir.heap<!fir.array<?xi32>>
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 29: %3 = fir.shape %c0 : (index) -> !fir.shape<1>
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 30: %4 = fir.embox %2(%3) : (!fir.heap<!fir.array<?xi32>>, !fir.shape<1>) -> !fir.box<!fir.heap<!fir.array<?xi32>>>
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 31: fir.store %4 to %1 : !fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 32: %5 = fir.declare %1 {fortran_attrs = #fir.var_attrs<allocatable>, uniq_name = "_QFtest_array_callEx"} : (!fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>) -> !fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 33: fir.call @_QPtest_array(%5) fastmath<contract> : (!fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>) -> ()
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:28'2 ? possible intended match
# | 34: %6 = fir.load %5 : !fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 35: %7 = fir.box_addr %6 : (!fir.box<!fir.heap<!fir.array<?xi32>>>) -> !fir.heap<!fir.array<?xi32>>
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 36: %8 = fir.convert %7 : (!fir.heap<!fir.array<?xi32>>) -> i64
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 37: %9 = arith.cmpi ne, %8, %c0_i64 : i64
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 38: fir.if %9 {
# | check:28'0 ~~~~~~~~~~~~~
# | .
# | .
# | .
# | 45: }
# | check:28'0 ~~~
# | 46: func.func @_QPtest_char_scalar_deferred_call() {
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 47: %c0_i64 = arith.constant 0 : i64
# | 48: %c0 = arith.constant 0 : index
# | 49: %0 = fir.dummy_scope : !fir.dscope
# | 50: %1 = fir.alloca !fir.box<!fir.heap<!fir.char<1,?>>> {bindc_name = "x", uniq_name = "_QFtest_char_scalar_deferred_callEx"}
# | check:41'0 X error: no match found
# | check:41'1 with "box" equal to "1"
# | 51: %2 = fir.zero_bits !fir.heap<!fir.char<1,?>>
# | check:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 52: %3 = fir.embox %2 typeparams %c0 : (!fir.heap<!fir.char<1,?>>, index) -> !fir.box<!fir.heap<!fir.char<1,?>>>
# | check:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 53: fir.store %3 to %1 : !fir.ref<!fir.box<!fir.heap<!fir.char<1,?>>>>
# | check:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 54: %4 = fir.declare %1 {fortran_attrs = #fir.var_attrs<allocatable>, uniq_name = "_QFtest_char_scalar_deferred_callEx"} : (!fir.ref<!fir.box<!fir.heap<!fir.char<1,?>>>>) -> !fir.ref<!fir.box<!fir.heap<!fir.char<1,?>>>>
# | check:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:41'2 ? possible intended match
# | 55: fir.call @_QPtest_char_scalar_deferred(%4) fastmath<contract> : (!fir.ref<!fir.box<!fir.heap<!fir.char<1,?>>>>) -> ()
# | check:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 56: %5 = fir.load %4 : !fir.ref<!fir.box<!fir.heap<!fir.char<1,?>>>>
# | check:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 57: %6 = fir.box_addr %5 : (!fir.box<!fir.heap<!fir.char<1,?>>>) -> !fir.heap<!fir.char<1,?>>
# | check:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 58: %7 = fir.convert %6 : (!fir.heap<!fir.char<1,?>>) -> i64
# | check:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 59: %8 = arith.cmpi ne, %7, %c0_i64 : i64
# | check:41'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 74: %2 = fir.alloca !fir.box<!fir.heap<!fir.char<1,10>>> {bindc_name = "x", uniq_name = "_QFtest_char_scalar_explicit_callEx"}
# | 75: %3 = fir.zero_bits !fir.heap<!fir.char<1,10>>
# | 76: %4 = fir.embox %3 : (!fir.heap<!fir.char<1,10>>) -> !fir.box<!fir.heap<!fir.char<1,10>>>
# | 77: fir.store %4 to %2 : !fir.ref<!fir.box<!fir.heap<!fir.char<1,10>>>>
# | 78: %5 = fir.declare %2 typeparams %c10 {fortran_attrs = #fir.var_attrs<allocatable>, uniq_name = "_QFtest_char_scalar_explicit_callEx"} : (!fir.ref<!fir.box<!fir.heap<!fir.char<1,10>>>>, index) -> !fir.ref<!fir.box<!fir.heap<!fir.char<1,10>>>>
# | 79: %6 = fir.alloca !fir.box<!fir.heap<!fir.char<1,?>>> {bindc_name = "x2", uniq_name = "_QFtest_char_scalar_explicit_callEx2"}
# | check:57'0 X error: no match found
# | check:57'1 with "box" equal to "2"
# | 80: %7 = fir.load %1 : !fir.ref<i32>
# | check:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 81: %8 = arith.cmpi sgt, %7, %c0_i32 : i32
# | check:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 82: %9 = arith.select %8, %7, %c0_i32 : i32
# | check:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 83: %10 = fir.zero_bits !fir.heap<!fir.char<1,?>>
# | check:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 84: %11 = fir.embox %10 typeparams %9 : (!fir.heap<!fir.char<1,?>>, i32) -> !fir.box<!fir.heap<!fir.char<1,?>>>
# | check:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 85: fir.store %11 to %6 : !fir.ref<!fir.box<!fir.heap<!fir.char<1,?>>>>
# | check:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 86: %12 = fir.declare %6 typeparams %9 {fortran_attrs = #fir.var_attrs<allocatable>, uniq_name = "_QFtest_char_scalar_explicit_callEx2"} : (!fir.ref<!fir.box<!fir.heap<!fir.char<1,?>>>>, i32) -> !fir.ref<!fir.box<!fir.heap<!fir.char<1,?>>>>
# | check:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 87: fir.call @_QPtest_char_scalar_explicit(%5) fastmath<contract> : (!fir.ref<!fir.box<!fir.heap<!fir.char<1,10>>>>) -> ()
# | check:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:57'2 ? possible intended match
# | 88: %13 = fir.convert %12 : (!fir.ref<!fir.box<!fir.heap<!fir.char<1,?>>>>) -> !fir.ref<!fir.box<!fir.heap<!fir.char<1,10>>>>
# | check:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 89: fir.call @_QPtest_char_scalar_explicit(%13) fastmath<contract> : (!fir.ref<!fir.box<!fir.heap<!fir.char<1,10>>>>) -> ()
# | check:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 90: %14 = fir.load %12 : !fir.ref<!fir.box<!fir.heap<!fir.char<1,?>>>>
# | check:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 91: %15 = fir.box_addr %14 : (!fir.box<!fir.heap<!fir.char<1,?>>>) -> !fir.heap<!fir.char<1,?>>
# | check:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 92: %16 = fir.convert %15 : (!fir.heap<!fir.char<1,?>>) -> i64
# | check:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 111: }
# | check:57'0 ~~~
# | 112: func.func @_QPtest_char_array_deferred_call() {
# | check:57'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 113: %c0_i64 = arith.constant 0 : i64
# | 114: %c0 = arith.constant 0 : index
# | 115: %0 = fir.dummy_scope : !fir.dscope
# | 116: %1 = fir.alloca !fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>> {bindc_name = "x", uniq_name = "_QFtest_char_array_deferred_callEx"}
# | check:73'0 X error: no match found
# | check:73'1 with "box" equal to "1"
# | 117: %2 = fir.zero_bits !fir.heap<!fir.array<?x!fir.char<1,?>>>
# | check:73'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 118: %3 = fir.shape %c0 : (index) -> !fir.shape<1>
# | check:73'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 119: %4 = fir.embox %2(%3) typeparams %c0 : (!fir.heap<!fir.array<?x!fir.char<1,?>>>, !fir.shape<1>, index) -> !fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>>
# | check:73'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 120: fir.store %4 to %1 : !fir.ref<!fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>>>
# | check:73'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 121: %5 = fir.declare %1 {fortran_attrs = #fir.var_attrs<allocatable>, uniq_name = "_QFtest_char_array_deferred_callEx"} : (!fir.ref<!fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>>>) -> !fir.ref<!fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>>>
# | check:73'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 122: fir.call @_QPtest_char_array_deferred(%5) fastmath<contract> : (!fir.ref<!fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>>>) -> ()
# | check:73'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:73'2 ? possible intended match
# | 123: %6 = fir.load %5 : !fir.ref<!fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>>>
# | check:73'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 124: %7 = fir.box_addr %6 : (!fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>>) -> !fir.heap<!fir.array<?x!fir.char<1,?>>>
# | check:73'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 125: %8 = fir.convert %7 : (!fir.heap<!fir.array<?x!fir.char<1,?>>>) -> i64
# | check:73'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 126: %9 = arith.cmpi ne, %8, %c0_i64 : i64
# | check:73'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 127: fir.if %9 {
# | check:73'0 ~~~~~~~~~~~~~
# | .
# | .
# | .
# | 143: %3 = fir.zero_bits !fir.heap<!fir.array<?x!fir.char<1,10>>>
# | 144: %4 = fir.shape %c0 : (index) -> !fir.shape<1>
# | 145: %5 = fir.embox %3(%4) : (!fir.heap<!fir.array<?x!fir.char<1,10>>>, !fir.shape<1>) -> !fir.box<!fir.heap<!fir.array<?x!fir.char<1,10>>>>
# | 146: fir.store %5 to %2 : !fir.ref<!fir.box<!fir.heap<!fir.array<?x!fir.char<1,10>>>>>
# | 147: %6 = fir.declare %2 typeparams %c10 {fortran_attrs = #fir.var_attrs<allocatable>, uniq_name = "_QFtest_char_array_explicit_callEx"} : (!fir.ref<!fir.box<!fir.heap<!fir.array<?x!fir.char<1,10>>>>>, index) -> !fir.ref<!fir.box<!fir.heap<!fir.array<?x!fir.char<1,10>>>>>
# | 148: %7 = fir.alloca !fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>> {bindc_name = "x2", uniq_name = "_QFtest_char_array_explicit_callEx2"}
# | check:89'0 X error: no match found
# | check:89'1 with "box" equal to "2"
# | 149: %8 = fir.load %1 : !fir.ref<i32>
# | check:89'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 150: %9 = arith.cmpi sgt, %8, %c0_i32 : i32
# | check:89'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 151: %10 = arith.select %9, %8, %c0_i32 : i32
# | check:89'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 152: %11 = fir.zero_bits !fir.heap<!fir.array<?x!fir.char<1,?>>>
# | check:89'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 153: %12 = fir.embox %11(%4) typeparams %10 : (!fir.heap<!fir.array<?x!fir.char<1,?>>>, !fir.shape<1>, i32) -> !fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>>
# | check:89'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 185: }
# | check:89'0 ~~~
# | 186: func.func private @_QPtest_array(!fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>)
# | check:89'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 187: func.func private @_QPtest_char_scalar_deferred(!fir.ref<!fir.box<!fir.heap<!fir.char<1,?>>>>)
# | check:89'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 188: func.func private @_QPtest_char_scalar_explicit(!fir.ref<!fir.box<!fir.heap<!fir.char<1,10>>>>)
# | check:89'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 189: func.func private @_QPtest_char_array_deferred(!fir.ref<!fir.box<!fir.heap<!fir.array<?x!fir.char<1,?>>>>>)
# | check:89'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 190: func.func private @_QPtest_char_array_explicit(!fir.ref<!fir.box<!fir.heap<!fir.array<?x!fir.char<1,10>>>>>)
# | check:89'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:89'2 ? possible intended match
# | 191: }
# | check:89'0 ~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Flang.Lower/allocatable-return.f90</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
bbc -emit-fir -I nowhere /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-return.f90 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-return.f90
# executed command: bbc -emit-fir -I nowhere /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-return.f90 -o -
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-return.f90:6:10: warning: Function result is never defined [-Wundefined-function-result]
# | function test_alloc_return_scalar
# | ^^^^^^^^^^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-return.f90:24:10: warning: Function result is never defined [-Wundefined-function-result]
# | function test_alloc_return_array
# | ^^^^^^^^^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-return.f90:50:10: warning: Function result is never defined [-Wundefined-function-result]
# | function test_alloc_return_char_scalar
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-return.f90:69:10: warning: Function result is never defined [-Wundefined-function-result]
# | function test_alloc_return_char_array
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-return.f90:96:10: warning: Function result is never defined [-Wundefined-function-result]
# | function test_alloc_return_poly_scalar
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-return.f90:130:10: warning: Function result is never defined [-Wundefined-function-result]
# | function test_alloc_return_poly_array
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# | bbc: could not find module file for __fortran_type_info
# `-----------------------------
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-return.f90
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-return.f90:107:10: error: CHECK: expected string not found in input
# | ! CHECK: %[[C1:.*]] = arith.constant 1 : index
# | ^
# | <stdin>:76:31: note: scanning from here
# | %false = arith.constant false
# | ^
# | <stdin>:87:2: note: possible intended match here
# | %9 = fir.convert %7 : (!fir.tdesc<!fir.type<_QFtest_alloc_return_poly_scalarTt>>) -> !fir.ref<none>
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-return.f90:145:10: error: CHECK: expected string not found in input
# | ! CHECK: %[[C1:.*]] = arith.constant 1 : index
# | ^
# | <stdin>:104:32: note: scanning from here
# | %c0 = arith.constant 0 : index
# | ^
# | <stdin>:116:2: note: possible intended match here
# | %10 = fir.convert %8 : (!fir.tdesc<!fir.type<_QFtest_alloc_return_poly_arrayTt>>) -> !fir.ref<none>
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/allocatable-return.f90
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 71: }
# | 72: func.func @_QPtest_alloc_return_poly_scalar() -> !fir.class<!fir.heap<none>> {
# | 73: %c-1_i64 = arith.constant -1 : i64
# | 74: %c0_i32 = arith.constant 0 : i32
# | 75: %c100_i32 = arith.constant 100 : i32
# | 76: %false = arith.constant false
# | check:107'0 X error: no match found
# | 77: %0 = fir.dummy_scope : !fir.dscope
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 78: %1 = fir.alloca !fir.class<!fir.heap<none>> {bindc_name = "test_alloc_return_poly_scalar", uniq_name = "_QFtest_alloc_return_poly_scalarEtest_alloc_return_poly_scalar"}
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 79: %2 = fir.zero_bits !fir.heap<none>
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 80: %3 = fir.embox %2 : (!fir.heap<none>) -> !fir.class<!fir.heap<none>>
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 81: fir.store %3 to %1 : !fir.ref<!fir.class<!fir.heap<none>>>
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 82: %4 = fir.declare %1 {fortran_attrs = #fir.var_attrs<allocatable>, uniq_name = "_QFtest_alloc_return_poly_scalarEtest_alloc_return_poly_scalar"} : (!fir.ref<!fir.class<!fir.heap<none>>>) -> !fir.ref<!fir.class<!fir.heap<none>>>
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 83: %5 = fir.absent !fir.box<none>
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 84: %6 = fir.address_of(@_QQclX3c091fb62297dfa85d42e45449430aa5) : !fir.ref<!fir.char<1,97>>
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 85: %7 = fir.type_desc !fir.type<_QFtest_alloc_return_poly_scalarTt>
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 86: %8 = fir.convert %4 : (!fir.ref<!fir.class<!fir.heap<none>>>) -> !fir.ref<!fir.box<none>>
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 87: %9 = fir.convert %7 : (!fir.tdesc<!fir.type<_QFtest_alloc_return_poly_scalarTt>>) -> !fir.ref<none>
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:107'1 ? possible intended match
# | 88: fir.call @_FortranAAllocatableInitDerivedForAllocate(%8, %9, %c0_i32, %c0_i32) fastmath<contract> : (!fir.ref<!fir.box<none>>, !fir.ref<none>, i32, i32) -> ()
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 89: %10 = fir.convert %c-1_i64 : (i64) -> !fir.ref<i64>
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 90: %11 = fir.convert %6 : (!fir.ref<!fir.char<1,97>>) -> !fir.ref<i8>
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 91: %12 = fir.call @_FortranAAllocatableAllocate(%8, %10, %false, %5, %11, %c100_i32) fastmath<contract> : (!fir.ref<!fir.box<none>>, !fir.ref<i64>, i1, !fir.box<none>, !fir.ref<i8>, i32) -> i32
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 92: %13 = fir.load %4 : !fir.ref<!fir.class<!fir.heap<none>>>
# | check:107'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 99: %c7_i32 = arith.constant 7 : i32
# | 100: %c0_i32 = arith.constant 0 : i32
# | 101: %c1_i32 = arith.constant 1 : i32
# | 102: %c134_i32 = arith.constant 134 : i32
# | 103: %false = arith.constant false
# | 104: %c0 = arith.constant 0 : index
# | check:145'0 X error: no match found
# | 105: %0 = fir.dummy_scope : !fir.dscope
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 106: %1 = fir.alloca !fir.class<!fir.heap<!fir.array<?xnone>>> {bindc_name = "test_alloc_return_poly_array", uniq_name = "_QFtest_alloc_return_poly_arrayEtest_alloc_return_poly_array"}
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 107: %2 = fir.zero_bits !fir.heap<!fir.array<?xnone>>
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 108: %3 = fir.shape %c0 : (index) -> !fir.shape<1>
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 109: %4 = fir.embox %2(%3) : (!fir.heap<!fir.array<?xnone>>, !fir.shape<1>) -> !fir.class<!fir.heap<!fir.array<?xnone>>>
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 110: fir.store %4 to %1 : !fir.ref<!fir.class<!fir.heap<!fir.array<?xnone>>>>
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 111: %5 = fir.declare %1 {fortran_attrs = #fir.var_attrs<allocatable>, uniq_name = "_QFtest_alloc_return_poly_arrayEtest_alloc_return_poly_array"} : (!fir.ref<!fir.class<!fir.heap<!fir.array<?xnone>>>>) -> !fir.ref<!fir.class<!fir.heap<!fir.array<?xnone>>>>
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 112: %6 = fir.absent !fir.box<none>
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 113: %7 = fir.address_of(@_QQclX3c091fb62297dfa85d42e45449430aa5) : !fir.ref<!fir.char<1,97>>
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 114: %8 = fir.type_desc !fir.type<_QFtest_alloc_return_poly_arrayTt>
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 115: %9 = fir.convert %5 : (!fir.ref<!fir.class<!fir.heap<!fir.array<?xnone>>>>) -> !fir.ref<!fir.box<none>>
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 116: %10 = fir.convert %8 : (!fir.tdesc<!fir.type<_QFtest_alloc_return_poly_arrayTt>>) -> !fir.ref<none>
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:145'1 ? possible intended match
# | 117: fir.call @_FortranAAllocatableInitDerivedForAllocate(%9, %10, %c1_i32, %c0_i32) fastmath<contract> : (!fir.ref<!fir.box<none>>, !fir.ref<none>, i32, i32) -> ()
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 118: %11 = fir.convert %c7_i32 : (i32) -> i64
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 119: %12 = fir.convert %c8_i32 : (i32) -> i64
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 120: fir.call @_FortranAAllocatableSetBounds(%9, %c0_i32, %11, %12) fastmath<contract> : (!fir.ref<!fir.box<none>>, i32, i64, i64) -> ()
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 121: %13 = fir.convert %c-1_i64 : (i64) -> !fir.ref<i64>
# | check:145'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.
https://github.com/llvm/llvm-project/pull/172246
More information about the flang-commits
mailing list