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

    <tr>
        <th>Summary</th>
        <td>
            [flang][omp2012] Runtime derived type info descriptor was not generated
        </td>
    </tr>

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

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

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

<pre>
    The following source crash dumps with "runtime derived type info descriptor was not generated":

```f90
! ERROR: flang-new -c -o rtc04.o -fopenmp rc04.f90
! SUCCESS: gfortran -c -o rtc04.o -fopenmp rc04.f90

program sample
                type :: type1
                         real(kind(0D0)) a(16)
                end type

                type :: type2
                        type(type1) :: b
                end type

                type(type2), DIMENSION(:), ALLOCATABLE  :: c

                do i=1,10
                        c(1)%b%a(i) = 0.0
                end do

end program sample
```

Crash dump is

```
error: loc("./rc04.f90":14:46): runtime derived type info descriptor was not generated
LLVM ERROR: aborting
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:

0.      Program arguments: /omp_build/install/bin/flang-new -fc1 -triple x86_64-unknown-linux-gnu -emit-obj -fopenmp -o rtc04.o rc04.f90
#0 0x00000000030dfcbf PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
#1 0x00000000030dd69c SignalHandler(int) Signals.cpp:0:0
#2 0x00007f2584262980 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12980)
#3 0x00007f2582eb1e87 raise /build/glibc-uZu3wS/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0
#4 0x00007f2582eb37f1 abort /build/glibc-uZu3wS/glibc-2.27/stdlib/abort.c:81:0
#5 0x0000000002c44ede llvm::UniqueStringSaver::save(llvm::StringRef) (.cold.29) StringSaver.cpp:0:0
#6 0x0000000003069178 (/omp_build/install/bin/flang-new+0x3069178)
#7 0x000000000371de48 fir::emitFatalError(mlir::Location, llvm::Twine const&) (/omp_build/install/bin/flang-new+0x371de48)
#8 0x0000000004402b41 (/omp_build/install/bin/flang-new+0x4402b41)
#9 0x0000000004402eb2 std::tuple<fir::BoxType, mlir::Value, mlir::Value> EmboxCommonConversion<fir::cg::XEmboxOp>::consDescriptorPrefix<fir::cg::XEmboxOp>(fir::cg::XEmboxOp, mlir::ConversionPatternRewriter&, unsigned int, mlir::ValueRange) const (/omp_build/install/bin/flang-new+0x4402eb2)
#10 0x000000000441b65b XEmboxOpConversion::matchAndRewrite(fir::cg::XEmboxOp, fir::cg::XEmboxOpAdaptor, mlir::ConversionPatternRewriter&) const (/omp_build/install/bin/flang-new+0x441b65b)
#11 0x00000000043e0bfa mlir::ConvertOpToLLVMPattern<fir::cg::XEmboxOp>::matchAndRewrite(mlir::Operation*, llvm::ArrayRef<mlir::Value>, mlir::ConversionPatternRewriter&) const (/omp_build/install/bin/flang-new+0x43e0bfa)
#12 0x0000000005005ad9 mlir::ConversionPattern::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&) const (/omp_build/install/bin/flang-new+0x5005ad9)
#13 0x000000000503ae3d mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<mlir::LogicalResult (mlir::Pattern const&)>) (/omp_build/install/bin/flang-new+0x503ae3d)
#14 0x000000000500db0a (anonymous namespace)::OperationLegalizer::legalize(mlir::Operation*, mlir::ConversionPatternRewriter&) DialectConversion.cpp:0:0
#15 0x000000000500e2c7 (anonymous namespace)::OperationConverter::convertOperations(llvm::ArrayRef<mlir::Operation*>, llvm::function_ref<void (mlir::Diagnostic&)>) DialectConversion.cpp:0:0
#16 0x0000000005012eac mlir::applyFullConversion(mlir::Operation*, mlir::ConversionTarget&, mlir::FrozenRewritePatternSet const&) (/omp_build/install/bin/flang-new+0x5012eac)
#17 0x0000000004413955 (anonymous namespace)::FIRToLLVMLowering::runOnOperation() CodeGen.cpp:0:0
#18 0x00000000064af443 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/omp_build/install/bin/flang-new+0x64af443)
#19 0x00000000064af8a0 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/omp_build/install/bin/flang-new+0x64af8a0)
#20 0x00000000064afe51 mlir::PassManager::run(mlir::Operation*) (/omp_build/install/bin/flang-new+0x64afe51)
#21 0x0000000003124e47 Fortran::frontend::CodeGenAction::generateLLVMIR() (/omp_build/install/bin/flang-new+0x3124e47)
#22 0x00000000031c4128 Fortran::frontend::CodeGenAction::executeAction() (/omp_build/install/bin/flang-new+0x31c4128)
#23 0x0000000003101f3c Fortran::frontend::FrontendAction::execute() (/omp_build/install/bin/flang-new+0x3101f3c)
#24 0x00000000030f3f43 Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) (/omp_build/install/bin/flang-new+0x30f3f43)
#25 0x00000000031c74d3 Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) (/omp_build/install/bin/flang-new+0x31c74d3)
#26 0x0000000002ccb380 fc1_main(llvm::ArrayRef<char const*>, char const*) (/omp_build/install/bin/flang-new+0x2ccb380)
#27 0x0000000002c5fdbe main (/omp_build/install/bin/flang-new+0x2c5fdbe)
#28 0x00007f2582e94c87 __libc_start_main /build/glibc-uZu3wS/glibc-2.27/csu/../csu/libc-start.c:344:0
#29 0x0000000002cc97e5 _start (/omp_build/install/bin/flang-new+0x2cc97e5)
flang-new: error: unable to execute command: Aborted (core dumped)
flang-new: error: flang frontend command failed due to signal (use -v to see invocation)
flang-new version 15.0.0 (https://github.com/llvm/llvm-project.git 74e4d5f256fab1a9a72ef60c1d672441696c52e9)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /omp_build/install/bin
flang-new: note: diagnostic msg:

********************
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy9WVtz4jgW_jXkRQVlyzd4yANNYDdV6U4KMlNb-5KSbRk8bUteSc5lfv0cyTZYDkmA7tqUIbYuR993bjoWMU_frh93FGW8KPhLzrZI8lokFCWCyB1K67KS6CVXOzTCWNRM5SVFKRX5M02ReqsoylnGoUUmIq8UF-iFSMS4QlvKqCCKpjBx5M1Hzs3I6b5Dp7mymdO2YBct1-v7NYxEWUHYdszoCxonaMyRUInjTzgaZ7yirKyQ0M_W3M0fi8Vys9GztxkXShB24mTzXQm-FaREkpRVQZs2NPgzZDURWEPfu52AWXMhQUkxwtOfOQPKU-fGGeEZXIjAkxvqh94Eyhr1WWoxPcN18GAdMwtPGwggvh0any69nY0NvgW6uf2-_LG5vf8B7VpY0zq_u7tfzB_n3-6WqFsjeS8v5SgfeTeAZOE6A6SJJm7EBTF8tB7yBvENcibOEHDK--J1yzGz7H2nP3ixd1aUy6Oe1goVggvNpOAaHHjmZIRXe48wjur68OUbe8HAC13erHZ39-f3g1eTGPwSAqzpe7hbzjdLJOu4zBUiKK634EAVDEGKo51SlTS2WMG1hfCr40nCS3goiufu3xj08xdNFDzmUtZUwg0ioLecJUWdUqR2XRzHJPkJQZHQSbP8RkGDUdggNJ1J4-0PreqJ2NYlZUqjgRSw4mX1FNd5kepFmVSkAJ9fxTmD717cZomLxgrUU1D0Og2fQn9cs5-Mv7BxkbP6dbxlNRpT4D7m8V-H4OwF7DDIPQc5r0735zlplsQZ4MyZMmweNb1NvmWk-DcooaACLPzMc0CqfRo1XXKSVJqzYz6daHcgOg1nCRrKgoW-koNbOVGGg6mPQzybOujpSVAJbkKfwLjG61ZFDgGxahWzV0jTUakdZJJ0IjmECP7mvLpayiF9YM_rr4Jp7NJphATJJdUW6qyzBVnJuP5v7b1s9o94giN4kIYD3Ey0_8s3mdJKe0_N8tem4dmAAWA6PrToSQJMA9ei6w-AeFHmNn5-MhCVNrows8waU3uNoG8anPg-Bcc2QWBy0h8s_19NN-BqbLshz1Q0zRJuQdWHcc2INc1MAsJTiKYinTQJujf7qFVD2zvCmRtNW0OeFA7Giu28vh0jS27kptSfoixvKejgWBGQuDRJC0_Louu64wlROWc6Tx8oPsL2DfHOAcYIhy3P8zA2GPoYp32Mvu_g2HfPltvO68udDeXSGCPwhoaKqnW-9xZ7ZXzjr49m51qggxr-JEV9tMlbomUZ89cFL0vOFpyBZaXWV09ism3-_8eMvAerL9sOUODNPrc_CJpBTHwxEU8_7rbwHbA8EKWoYGv6InKl80uoR9ZMhybVKVwdYbYGrVJtWWPli-wAeu7bwXVsQ7hxGMSoA99XnQZREpXs5ixtUX_F-8POeUq0cs_RzeWcDSWLs5XufY86cUbeAVH31SPXW3iL5iTnea-gg9j7ShcHJmznduTOhSBvOjd5i_eu_H9RUqMDS0m4r6QALpLOPgNyvgIOPb-TSwvV4uLZXDxCvfT98vOqKnLIrFz8bi59Y2c1S_REqAq0wWPOC2SJbgX0M3nrBh8K0WXOLwvp7y9b0EOxprIu1Glyz99sWjNYdvIHPpfGDtGCCePsreQ1lNmkpLKCSq-pz_uWuKNbUuR_dyVA0T6eaLavAusmJwXU2odhxwvJYMCA4iQ6mUGbeDoGSZeH2m5pVTRHk4bF72ynAY5bxqXKE8uyJ1IPbeoupiTpKZhAdL2t6qLobSrnmuYRXkeoakPqMGAl-N-0M1hrvg1Vv1QLtQQs94wGe6U3C4KvjLu6XTfbyB1_obrObJrhvfKe9SjrogsteEr_RT9Qr1WJhT7JfN_r6SCliuRFp8pHfl89ECm7jbZbcxDLUr5T9sdmmMMrw5vM5XfCyJaazVsnr_dly_nKbulYyp4N-U6Jczbfh7yi8BozTAJ66J5G-NsVYG8HUt4CeWFeo3XN826_6A9oVm46WuwPREDHrT5zaB16fqmOQYV9HWNnqGMauANoHdmjHmTr6jJMsKSFyX4Xd7FP_QitmjO9No8JzhRlaZcdTNDMk4PmunMYHXa36za4zn4Zapa2sGEbW-K7eHomNvpKk1rRtulSaGZlC5pnQ3PczEs-g7Zqn45guxiVWdRC5duvzpmXQdL6VGFllRdU6IAgDNLoUZ2dTuvC9-AGqMUkGJg-8tNPmbSYD4Se9y_tn-F_p4DLAqsFaDEI7ZOUJPamDsoS96kkWsLx0iLZEXFIO01FYbddgK5d3EIX2eiCLI0p0sgukG4mW9Kn9knVzE-mEXp60kdRTyBLqKd2qZNOrRJZd2dnza3pNHLMEZbn-9bejWcD1c8iGqBm4UuUp6fv6R16vTnaH3DXjMQF1WfJrSOCwcqSGDdDc33YRk3xl3BBzTkwTb-QaFpR562dOJTBLgyi0tos1hwsasG1pGj8bNqoPjE_uP9wFdQWd8gNJs7E0ZPPO_-ewAAUQbJOAzBvmJHYJTMSYZqFTuKmYYShVgtnYRKA5ffrt7UkMPvogLodZ45jUQmpXJcbqOIyf226bhtD0fTGbIifn4-_Vy3jSic4lO7LblRKUx_2f8HAv3DZv4FcpddeOvNm5ErlqqDXo-CbwTMKbuAWkGOoeeEBrS_60eOqFsX15b9cBCG8NVztrkOos7N0RmLHSwLqRa4fOziiSZhByoiARUFiWkiNfoRxQ6CXRbFmcJVfYwdjJ3Q9J3ADN5oEJJhRLcnzs9gPg5HvUAj5YqLhTLjYXolrgyyutxI6i1wqeeiEQkjXd0ZnWj6p1Y6L6x95mcvdd_gIcmWYXBsa_wAuUdjp">