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

    <tr>
        <th>Summary</th>
        <td>
            [flang] Compilation error/aborting (unhandled type in fir.box code generation)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          ohno-fj
      </td>
    </tr>
</table>

<pre>
    [As discussed at Discourse](https://discourse.llvm.org/t/request-advice-on-reporting-many-errors-found-in-fortran-test-sets/65868), we Fujitsu have started to report bugs.

```
Version of flang-new : 16.0.0(e0fb01e97b6b7d2fe66b17b36eeb98aa78c6e3bb)
```

The line that causes a compilation error is the line `v22=v21`.  
GNU's Fortran compiler is OK.  

The following are the test program, flang-new compilation results, and gfortran compilation results.  

snggn822_.f90:
```fortran
module m01
type a
 integer,allocatable::x(:)
end type
contains
subroutine s02
type(a),pointer::v21(:),v22(:)
allocate(v21(2))
allocate(v22(2))
allocate(v21(2)%x(2))
v21(2)%x(2)=21
v22=v21
if (v21(2)%x(2)/=21)write(6,*) "NG"
if (v22(2)%x(2)/=21)write(6,*) "NG"
end subroutine
end

program main
use m01
call s02
print *,'snggn822 : pass'
end program main
```

```
$ flang-new -flang-experimental-exec snggn822_.f90
error: loc("./snggn822_.f90":12:1): unhandled type in fir.box code generation
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: /home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new -fc1 -triple aarch64-unknown-linux-gnu -emit-obj -fcolor-diagnostics -o /tmp/snggn822_-5cb885.o -x f95-cpp-input snggn822_.f90
 #0 0x00000000030badf4 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #1 0x00000000030b8e90 llvm::sys::RunSignalHandlers() (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x30b8e90)
 #2 0x00000000030b8fd8 SignalHandler(int) Signals.cpp:0:0
 #3 0x0000ffffbe7b066c (linux-vdso.so.1+0x66c)
 #4 0x0000ffffbe242c1c raise (/lib64/libc.so.6+0x32c1c)
 #5 0x0000ffffbe2307a8 abort (/lib64/libc.so.6+0x207a8)
 #6 0x000000000303e140 llvm::report_fatal_error(llvm::StringRef, bool) (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x303e140)
 #7 0x000000000303e190 llvm::install_bad_alloc_error_handler(void (*)(void*, char const*, bool), void*) (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x303e190)
 #8 0x0000000003668af8 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<fir::ExtendedValue (*)(fir::details::matches<Fortran::lower::SymbolBox::toExtendedValue() const::'lambda'(fir::AbstractBox const&), Fortran::lower::SymbolBox::toExtendedValue() const::'lambda0'(std::monostate c\
onst&), Fortran::lower::SymbolBox::toExtendedValue() const::'lambda1'(auto const&)>&&, std::variant<fir::AbstractBox, fir::ArrayBoxValue, fir::CharBoxValue, fir::CharArrayBoxValue, fir::MutableBoxValue, fir::BoxValue, std::monostate> const&)>, std::tuple<std::variant<fir::AbstractBox, fir::ArrayBoxValue, fir::CharB\
oxValue, fir::CharArrayBoxValue, fir::MutableBoxValue, fir::BoxValue, std::monostate> const&>, std::integer_sequence<unsigned long, 0ul>>::__visit_invoke(fir::details::matches<Fortran::lower::SymbolBox::toExtendedValue() const::'lambda'(fir::AbstractBox const&), Fortran::lower::SymbolBox::toExtendedValue() const::'\
lambda0'(std::monostate const&), Fortran::lower::SymbolBox::toExtendedValue() const::'lambda1'(auto const&)>&&, std::variant<fir::AbstractBox, fir::ArrayBoxValue, fir::CharBoxValue, fir::CharArrayBoxValue, fir::MutableBoxValue, fir::BoxValue, std::monostate> const&) (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/\
flang-new+0x3668af8)
 #9 0x00000000042152bc (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x42152bc)
#10 0x0000000004219464 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 (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x4219464)
#11 0x000000000422dee4 XEmboxOpConversion::matchAndRewrite(fir::cg::XEmboxOp, fir::cg::XEmboxOpAdaptor, mlir::ConversionPatternRewriter&) const (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x422dee4)
#12 0x00000000041f7d38 mlir::ConvertOpToLLVMPattern<fir::cg::XEmboxOp>::matchAndRewrite(mlir::Operation*, llvm::ArrayRef<mlir::Value>, mlir::ConversionPatternRewriter&) const (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x41f7d38)
#13 0x0000000004e7c724 mlir::ConversionPattern::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&) const (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x4e7c724)
#14 0x0000000004eac6e0 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&)>) (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin\
/flang-new+0x4eac6e0)
#15 0x0000000004e83c3c (anonymous namespace)::OperationLegalizer::legalize(mlir::Operation*, mlir::ConversionPatternRewriter&) DialectConversion.cpp:0:0
#16 0x0000000004e84290 (anonymous namespace)::OperationConverter::convertOperations(llvm::ArrayRef<mlir::Operation*>, llvm::function_ref<void (mlir::Diagnostic&)>) DialectConversion.cpp:0:0
#17 0x0000000004e881cc mlir::applyFullConversion(mlir::Operation*, mlir::ConversionTarget&, mlir::FrozenRewritePatternSet const&) (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x4e881cc)
#18 0x0000000004228c98 (anonymous namespace)::FIRToLLVMLowering::runOnOperation() CodeGen.cpp:0:0
#19 0x00000000061cce08 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x61cce08)
#20 0x00000000061cd204 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x61cd204)
#21 0x00000000061cd730 mlir::PassManager::run(mlir::Operation*) (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x61cd730)
#22 0x00000000030fd2a8 Fortran::frontend::CodeGenAction::generateLLVMIR() (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x30fd2a8)
#23 0x000000000317faac Fortran::frontend::CodeGenAction::executeAction() (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x317faac)
#24 0x00000000030d458c Fortran::frontend::FrontendAction::execute() (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x30d458c)
#25 0x00000000030cb310 Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x30cb310)
#26 0x00000000031822f8 Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x31822f8)
#27 0x0000000002d9fb30 fc1_main(llvm::ArrayRef<char const*>, char const*) (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x2d9fb30)
#28 0x0000000002d45db0 main (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x2d45db0)
#29 0x0000ffffbe230be4 __libc_start_main (/lib64/libc.so.6+0x20be4)
#30 0x0000000002d9ea54 _start (/home/users/ea01/ea0178/LLVM_14.0.6/release/bin/flang-new+0x2d9ea54)
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 16.0.0 (https://github.com/llvm/llvm-project.git 84d4bb78e0af85709b4c91643c9abf6518a41d13)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/users/ea01/ea0178/LLVM_14.0.6/release/bin
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/snggn822_-18dd20
flang-new: note: diagnostic msg: /tmp/snggn822_-18dd20.sh
flang-new: note: diagnostic msg:

********************
$
```

```
$ gfortran snggn822_.f90
$ ./a.out
 snggn822 : pass
$
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWltz6jgS_jXkRQXlG8Y85IFDwpnU5kxSSWZ23yhZlsFnjMVKdk4yv367JWEsQ25zwu5W7aZIgnVpdX99UVvqVGTP54Pxl5kiWaFYoxTPCK3JBTyIRio-GF8MgmRd11s1CGeDYAGfbNc5KsvHzUjIFTTW8Cv5Pxuu6iHNHgvGh6IaSr4Vsi6q1XBDq-chl1JINcxFU2XDooIvspa0GtY4S_FaAZF4nMTJIJgOgjn5wcmi-V7UqiFr-siJqqmsgcNaEEOZpM1KjQbexcCb2b-xZz_68XcuVSEqInKSlxT4qPgPApIQPx55Iw9k416eej6fTtI4nWRBzuM49SdpGHOeThNKJwmLeZimyNKxFczfhzUnZVFxUq8BPkYbxRWhhInNtihpjSxo4UmhYIgdCzQeg2AQXjwGPnwfEWKIff31t0EwUWRh4LFUuJ5887d22H7lXJSl-AEwEyq5po-Ikq0UK0k3iORe-C5LkqumRNTnhFYZWeXOgs6Y3qqqWq2qJAiWo3zqoWW40FhCpnUjsqbkZOP55rl-3nJCzXdSVDVfcQksUJCB0ZqmJUeC4ewJtKONzgLPgUWca56YqGpaVMry06RSNDWiqrxgvw6QoMaYtgKXkoY0At4SD-aoBXctywzON2MDPfJYb_Bq737u-Kk_8HhveBH4u_6dcejHIicvk1yYecH0hyz00jHINQhQIpgV_PoV_rhkgp8jg9rYo962dY3E2h_ZgJ5MC7jF3g4YALXX1laCfoheao7Wbw1MO-uWKjDSyX7hQ8pHvbLfGEQdRxiar_xpy2Wx4WBNJTxwRlzbNmui7yInoFm0lCAYAVbuQFTWzNd_tBpnpKnW4FYlN2YLpk7yQo5S8QQOlnGy4hWX2snMItfXv38jl3d3N3c4maYmcpq-2-vL2f0lAr4paggsEPd2IRCCoRufV0W9btIRODE8YIi2_4aA2nfOMFIXSkGkhi_a74uKlU1mAgeTVK1JStkf4MCM29h6X0MDyZrNtvV1DFf4c2tVQeWqQRSRD1DjYi02YD8L0LjEhTgFtZt_E8BvgcIu_QiCcKx3jpJTheNTUGiw6GqJ-WRYy2ILIYRSydZxNGyqPyrxoxpCFG2ehquqIUMOuAxF-h0niFLIYVbQVSVUXTBFhgI5qoH7jtKGY5YmyXgkyPCJ5NPxkG23sCltm_qYBQCB0CPek7f7Cb2UZnkE8oPdanweELD7YlXR8hetd4l-JorM-o_pUiNYBzDy9G9L2-_RTvjUI1p5OmCpZ2W-3DWVs4TS5ojOmXwa6IPgi_dkeWiDFTIZ9JnMs4T0JQY43pQ2tIRy-En5JPXimKEIRqGPmRIj-PiaEehymIicuUEUMJ8RSQsILQaEskjjyPxnSCY28uA4h9DYJRR6E5oYt3uVUIDjHEKxC0vI_airO-Onyxz2tnJpIglI2nbfg3FXqzue4zacClGeSJ2aLYfvyQHfjs3B5gocl0uw86Xe0wzzy7Vj3IZVs5HurX1O2JpKiHNAwzZY0fBrxylOI2jPbhNH0DhOaJ5AMpkZOZfLjEMqUe6eHqksKBixfYQwvXzUacmy2Gxh1PydM79B3lQsqZT0GSZB6Dftl081bGE8-52WDXfQa4cYqtbjN7RmawjW4dzmg6YZEr5dNnP_vElF-UU8mcdaOEvYAGFUoQfAVlrSTZpR3FM7y85ShUG__qJ3KK252Grs05f2zNotlBuBwRqyJsIG47lR3YlZ8A0LtIEdtCtueKm_YOazN5JWtfNjcOkUu21HjUOjXb_TMwefeLHj5WnfGm1-R_u6jYdggiwHonXG1c0Wk-35CaTcK_E_JW5PVvuisVT4kloxFLupFGxSkJ6VAvIsGOw1JU7Dj3XoQhX1sqgexR_8f8ZBW9W96an_d9BPdtDP2A5b9fX2RbPtOfvitLsvRoE_DlL2-TuyJbw_QIFs1-utPI3i6DAudUF80G_zc7Ipd40trP0mwPQSTO5pLjYA9FxUj-YUqEuRrcz_f-iRN9vW6VEbF1wxeOOohbyVPC-e3prYcdGDboe_PS-3tK65rO64ftGW1prbiKST6APJ7gBW3nrLSTSFinA05buaCjLOI7KTrottGwpnVWbFeguYFztnGUX0PwLeCUHRMjugOC9CkZ9PMsgx-5zWN9sHgStZdt9lfocI7snebHfnBSaj3qfqOjThK0Q4P3SG_w4UDUgOiqGDIp-wSRC9xunHEdr3_HuFNbI4wkausJTF3Dvkb7bdlgWjtZCfLWzXXPKmYjhxKbXJ4JsZcUhbAkdyxxeJ7N4Ff4rIfvK1WAEO5Z0-fX4f3U_YPXdb5xGNaoU5Gh27Gk1CFurdk1aiet6IRpGKbrjaUsbNgWBXZ9d8Rcviz12OVNrHdyr4LSe-KGjJWb0fdngMgxLEPQmiYOq9WwIb5HYSsF3Ms93KOeQ4GqAc-T5sXhftAZ9jA-8UfdITPfEZ6wBMwQ-fF01Zdna4j6rmgcoVr63z7QcspPiT7xRm1XfP689OA_v2qyV07Dfp7ewJmyZvaX9xdWf2tGvM7_F4WjfLprqpOpjolH4uMv6Vv4C_k3rGwBr3ujto91wFt9Gb7S1VapcW7NbshQW8JOhp42U9zSpaPqtCfaMVNRdQ9oSqn4WdQBtW3q42Aq8HSBZ40YcBuS22HK8We7aKQ1s5409HyN16lLoCQ5b6MgBTuIO9qTvArGw6LO-3VELHVZWLzvHhaZSAGDtK8PtKmIRej_cdGkdt0AXzREwDTw7TvVP5PAto4r6M51JU-Mq9i1DaL2dsj729iuLIytXd6a4UNG8O804OCGE5p5R9kHm8tGtqbptOxbthzeE9coHPonHyKu8L-3SE-dNBrrly2B67bLMUX8dfhdyUH6DXUn1ydgz198t9oi3OSuKI6t7M-EkQ5K-6hhVqL_Ej3uS_KeABQqe62zASOCI6iUyQTfMUQlbO_KW-G38hB3MvZ0zq1buwOQH7ljuH_cRlPxpnqaev9U-xvKbuLD_t3wGmPCLLJd74LXW10bLDy0v3gal7OuDeE4PQnI6BqCZ3ElCRfsvAvjeckbZuoanwgBJrBayJY43PhmoDJjO88-Q6vWZCcn3Pz7M3KOpWsvODHTmSQ5YCpLJGL6b0JTASxsqP4aNu41gKsXes_irEps-2RIsc1J-9Vd8wggEkibIoTScJ92iejCfeNI3Y1I-jkE1pmsdjP6GRn_lhu77N1rHy4qUqg13BleQ0IxvYiDAfI1uhiifTdWVuTHl2oROCnyyDOAS_EnhiPCP72gayUToFt7b3E59O2YwtNpk9PMzmv5CHXy7J4ub6-ubvV79-JYur68t78nCjm7_89pXcXd7e3D20PNxKDmpgXFcSKtFIjIaJwniC5gEJlGAFRWuD3ImYY9Z2ANieKZ3CIsSW5PsgOFbh4ScZpHifQ2Wk1n9BI5-llyD6WJlTW8p3pJQF-7F8iY5EU9vLgMNyq1fXPePnfhwnER7dx2fZeZhNwyk9q4u65FhPqjEajC_IvF8AievayiYdFt5dIhVMzxpZnv_1UqdxMp14Z-vzMIKgwNIx97JplOeMZuNJypMgT32axYl_VtKUlwrFGAQBBiRNAuu7xhdnxXngBYHv-5E3DuPxeMR8PgmmKcs5vNOF02QQeRz2jLItjj2T55olLFWFzrJQtdp3AtT4JqVRQ_q0qddCnot1JYb59zO99Llm_V9cYQLC">