<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/124829>124829</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [Flang] Failure at `fir.convert` when a procedure pointer points to an external function with character type result
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang:fir-hlfir
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          DanielCChen
      </td>
    </tr>
</table>

<pre>
    Consider the following code:
```
  PROGRAM main
  IMPLICIT NONE

  INTERFACE
 CHARACTER(1) FUNCTION FOO()
    END FUNCTION
  END INTERFACE

 PROCEDURE(FOO), POINTER ::  ProcPtr

  CONTAINS
  SUBROUTINE SUB()
 ProcPtr => foo
  END SUBROUTINE

  END
```

Flang fails at
```
error: loc("/home/cdchen/temp/t.f":13:5): 'fir.convert' op invalid type conversion'!fir.boxproc<() -> ()>' / 'tuple<!fir.boxproc<() -> ()>, i64>'
error: verification of lowering to FIR failed
```

All ifort, gfortran and XLF compiled the code successfully.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMU02PozgQ_TXmUurIlPMBBw4Mgd1IM9Bi0tJeHWOCV46NbJOe_vcr05np1uxlpEh26uPx6tUz915djZQF2X0hu2PClzBZVxy5UVJX1SRNcrHDW1FZ49UgHYRJwmi1tq_KXEHYQRJWElqSPX38aAnw3Hd_9eU3uHFl1sDp2_PXU3U6Q9u1dSxfg-257puyigGo_i77sjrXPcEsJZhD89JW51PXQtN1BDOC-doEULfHX8k1FAOfsWLwue-q-vjS1wSzFSAnWMFzt9ZB5MwiT2fFc3A_CVVdey5P7ff1z_eXL333cj61dbx-MHj0AGFHwmoYrf1F4qPlJ2LdHn8Th9Cy0dxcYeRKe-Dht7x0zrpITluxfhQJNpO9SYKNGMQkDcEmyNscj80Y86xMGWHlLhJkJRA8jMpthDV36QLBA9gZlLlzrQYIb7OE95RX1hA8EExj-cX-mJ0VhFXvo8JTnO4xNqsjDMEmgodl1nKt-7PGCtR--w7xeb67dGpUggdlDdgRtH2VLpoqWGhO_aqPHP6vXqk1qNHGySq4xovjBrgZ4J-vDQh7m2PfatRoT_CLENL7cdH6bZMMBRtylvNEFumBZTTfHhgmU5FzkTMcGZWC8yHf78U2OxxSxkY6sHTYJqpAijuaYoaU7hhuMKMcxZbSfcqy_DCSLZU3rvRG6_ttY901Ud4vskhxm2GeaH6R2q_vDHGMDiCsHJV7mvSoXFzj7pi4IjY_XZarJ1uqlQ_-Ay6ooNeHuvqH7I7QcKUXJ4EHIHv6eel7Cq-TNMAh7kYOsWq2ygTp3k8fZeYG5I8gneEaxsWIdRWvKkwgJu64iNWrYZz0iw7J4nQxhTD7-H6wIdhcVZiWy0bYG8EmMn0cT7Oz_0oRCDarCp5g8xDiXuB_AQAA__8KMVEI">