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

    <tr>
        <th>Summary</th>
        <td>
            [flang] Segfault in lowering ConvertExpr
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang
      </td>
    </tr>

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

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

<pre>
    When building one of the [GenASiS Basic](https://github.com/GenASiS/GenASiS_Basics) codes I encountered a segfault in flang. Best guess is this is related polymorphic types and extended types.

```
...
 #3 0x00007ff2b3525a24 fir::FirOpBuilder::getRefType(mlir::Type) (/share/contrib-modules/Core/amd-trunk-dev/2024-02-06_18.0-0/bin/../lib/../lib/libFIRBuilder.so.19git+0x6aa24)
 #4 0x00007ff2b9a5d954 (anonymous namespace)::ScalarExprLowering::genComponent(Fortran::evaluate::Component const&) ConvertExpr.cpp:0:0
 #5 0x00007ff2b9a5dabe (anonymous namespace)::ScalarExprLowering::gen(Fortran::evaluate::Component const&) ConvertExpr.cpp:0:0
 #6 0x00007ff2b9a5db4c (anonymous namespace)::ScalarExprLowering::genval(Fortran::evaluate::Component const&) ConvertExpr.cpp:0:0
 #7 0x00007ff2b9a5dbfc std::__detail::__variant::__gen_vtable_impl...
...
flang-new version 19.0.0git (https://github.com/ROCm/llvm-project 58ac649a15feb2a8bbaf07c0c1d30054b0bb6af3)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /share/contrib-modules/Core/amd-trunk-dev/2024-02-06_18.0-0/bin
Configuration file: /share/contrib-modules/Core/amd-trunk-dev/2024-02-06_18.0-0/bin/flang.cfg
flang-new: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
flang-new: note: diagnostic msg: /tmp/StructuredGridImage_Form-2b7399
flang-new: note: diagnostic msg: /tmp/StructuredGridImage_Form-2b7399.sh
```

I have attached the preprocessed source, full error message, and module files that may be needed to reproduce the compiler error.
[StructuredGridImage_Form.zip](https://github.com/llvm/llvm-project/files/14184239/StructuredGridImage_Form.zip)
[StructuredGridImage_Form-modules.zip](https://github.com/llvm/llvm-project/files/14184355/StructuredGridImage_Form-modules.zip)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0Vl9v2zgS_zT0y8ACTUm29OAH24nSAMGliH3oo0GRI4lXihRIynXu0x8k2W4u283uoi0gW_ynmd8M5zcz3HtVG8Q1SbckvZvxPjTWrUthnVFa46y08nX9pUEDZa-0VKYGaxBsBaFBIOn2Ac1mr_aw5V4Jkt4RljUhdJ7EG8IKwopahaYvI2FbworL6e-j4_idJywHYSV6eAQ0wvYmoEMJHDzWFe91AGWg0tzUEWzRB6h79B6Uh9Co8e1Q84ASOqtfW-u6RgkIrx164EYCngMaiXJaigi9I3Rz-V_SyzNOo-iyC4TFMdAzpZSuqoqVccpSzhKolBusizeFcs_ddvALXlZqDC9YHV47JCxr9fXgtJADYRlhhW-4Q8IKYU1wqpy3VvYaPWHFzo4bvJXz4HrzdS7xRFjBKEvmlM3p8rjIIjqnhBWlMoQVUURYoVX5_0OtyuLx5QIs8jZa5LUKhG3peck5SwjLv5uYvDUx56nM02QAyo01r63tPRjeou-4GEyY7NkLrrm7P3fuyX5Dp0x9Nd_sbNtZgyYQlhXWBcfNtIcnrnsecJrdjoGwxgfCloN_dtac0IVBcCS6jsQbOv5uYNP3YHmJPwH2t2BcvsdYJuInMJ64_i0wV3-AWQnwQU5Cj0eJgSt9nZ24U9yE67RGczwFXmo8qrbTN87cBiNV5wa_wQmdV9bAIo9oRGsV4OMU8fK8G15an9p55-x_UARIMy6WSc4XaYUl41lZ8oquBBULGVOaJiUtyyWv4ltgH7ircUAL52x5XCbz3nw19puZa2X687w2_eVc45BLaK3EwVTorFfnaevR-MC1Rnk3shh-JXFHBTtrKlX3jofBPZXS-KvVsGLKmKKq393KoMnYMYJAKl4b64MS0Pox7qa0yH7ieZNePz_db_b3sDkcNrtPcPh0D8Xz09Pzl8d_PUDx-HS_h8PzuLz99wO83H9-fjncMHx22Dkr0HuU4G3vBspkY7UYkjr33go1Zn3XG_DCqS7cDjgEbcW4y8NN5N9zwXANoe0IK_bB9SL0DuWDU_Kx5TUeC-vaOStXcZ7_FqGRb35Ymi6BCQ0_IfAQuGiGitYgdD9y1A6qXmtA56yDFr3n9bg6uG6KqTHqhhLKA7T8FUoEgziWSQujSNkLHDUI23ZKo5vEXQtouv0zU6L_qu4v24GB5O-4PgStmqJ9kSyyhMX5Bw4btVxJ_wGaK4d-Fao4TT-6xrfaruhmch3LPM75DNeLFV2xhMVpPmvWueQpzas0L0UlZcwXjKHgvMwqSheMZjO1HghOGV0uVmm-WEVLuaRJlpRlItJ0EUuSUGy50tEAObKuninve1xnNMuSmeYlaj92eIyNkUoYG5o9tx5NLPvak4Rq5YP_LiGooMe2cPoivYP9m05MX6rU2zIz651e_2O3jkgHv45g_xcAAP__MXlQYA">