<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/98644>98644</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
flang-new 19 crash when compiling following code
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
mfvalin
</td>
</tr>
</table>
<pre>
> flang-new --version
flang-new version 19.0.0git (https://github.com/llvm/llvm-project.git 8681202dd638c552eecb818d41312cbbfd48e606)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/llvm-beta/bin
Build config: +assertions
> cat serializer.F90
module rmn_jar
use ISO_C_BINDING
implicit none
private
interface
function libc_malloc(sz) result(ptr) BIND(C, name='malloc')
import :: C_SIZE_T, C_PTR
implicit none
integer(C_SIZE_T), intent(IN), value :: sz
type(C_PTR) :: ptr
end function libc_malloc
end interface
logical, save, private :: debug_mode = .false.
integer, parameter, public :: JAR_ELEMENT = C_INT64_T !< We want 64-bit elements in the jars
!> Same as c_jar, but with type bound procedures
type, public :: jar
private
integer(JAR_ELEMENT) :: size_elem = 0 !< capacity of jar, in number of elements
integer(JAR_ELEMENT) :: top = 0 !< last posision "written" (cannot write beyond size)
integer(JAR_ELEMENT) :: bot = 0 !< last position "read" (cannot read beyond top)
integer(JAR_ELEMENT) :: opt = 0 !< option flags (0 owner of data memory, 1 not owner)
type(C_PTR) :: ptr = C_NULL_PTR !< address of actual data
end type
contains
!> Create a new data jar (size specified with a 64-bit integer), allocate data storage
function jar_new_i8(jar_instance, data_size) result(ok)
implicit none
class(jar), intent(INOUT) :: jar_instance !> Data jar instance
integer(C_INT64_T), intent(IN), value :: data_size !> Number of elements in jar
logical :: ok !> .true. if jar was successfully created, .false. otherwise
integer(C_SIZE_T) :: data_size_byte
integer(JAR_ELEMENT) :: dummy_jar_element
data_size_byte = data_size * (storage_size(dummy_jar_element) / 8)
! size in bytes
jar_instance%ptr = libc_malloc(data_size_byte)
ok = .true.
end function jar_new_i8
subroutine jar_print_data(jar_instance, max_elem)
implicit none
class(jar), intent(IN) :: jar_instance !> Data jar instance
integer(JAR_ELEMENT), intent(IN), value :: max_elem !> Maximum number of data elements to print
integer, dimension(:), pointer :: jar_data
call C_F_POINTER(jar_instance%ptr, jar_data, [jar_instance%size_elem])
end subroutine jar_print_data
end module
> flang-new -c serializer.F90
error: loc("/home/software/GITHUB-ECCC/librmn/build/serializer.F90":51:9): 'llvm.call' op result type mismatch: '!llvm.ptr' != 'i64'
error: Lowering to LLVM IR failed
flang-new: /dataCMC/my-llvm/llvm/lib/IR/Instructions.cpp:1296: void llvm::StoreInst::AssertOK(): Assertion `getOperand(1)->getType()->isPointerTy() && "Ptr must have pointer type!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /opt/llvm-beta/bin/flang-new -fc1 -triple x86_64-unknown-linux-gnu -emit-obj -fcolor-diagnostics -mrelocation-model pic -pic-level 2 -pic-is-pie -target-cpu x86-64 -resource-dir /opt/llvm-beta/lib/clang/19 -mframe-pointer=all -o serializer.o -x f95-cpp-input serializer.F90
#0 0x0000560d4d4fbdc8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/llvm-beta/bin/flang-new+0x128fdc8)
#1 0x0000560d4d4f98fe llvm::sys::RunSignalHandlers() (/opt/llvm-beta/bin/flang-new+0x128d8fe)
#2 0x0000560d4d4fc76d SignalHandler(int) Signals.cpp:0:0
#3 0x0000154a2133e420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#4 0x0000154a20d5800b raise /build/glibc-LcI20x/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
#5 0x0000154a20d37859 abort /build/glibc-LcI20x/glibc-2.31/stdlib/abort.c:81:7
#6 0x0000154a20d37729 get_sysdep_segment_value /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:509:8
#7 0x0000154a20d37729 _nl_load_domain /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:970:34
#8 0x0000154a20d48fd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
#9 0x0000560d51be7e15 (/opt/llvm-beta/bin/flang-new+0x597be15)
#10 0x0000560d51be7c2d llvm::StoreInst::StoreInst(llvm::Value*, llvm::Value*, bool, llvm::Align, llvm::InsertPosition) (/opt/llvm-beta/bin/flang-new+0x597bc2d)
#11 0x0000560d4d1014e5 llvm::IRBuilderBase::CreateAlignedStore(llvm::Value*, llvm::Value*, llvm::MaybeAlign, bool) (/opt/llvm-beta/bin/flang-new+0xe954e5)
#12 0x0000560d4f43ef49 convertOperationImpl(mlir::Operation&, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) LLVMToLLVMIRTranslation.cpp:0:0
#13 0x0000560d4f95ed77 mlir::LLVM::ModuleTranslation::convertOperation(mlir::Operation&, llvm::IRBuilderBase&, bool) (/opt/llvm-beta/bin/flang-new+0x36f2d77)
#14 0x0000560d4f95f4fb mlir::LLVM::ModuleTranslation::convertBlockImpl(mlir::Block&, bool, llvm::IRBuilderBase&, bool) (/opt/llvm-beta/bin/flang-new+0x36f34fb)
#15 0x0000560d4f962e2c mlir::LLVM::ModuleTranslation::convertOneFunction(mlir::LLVM::LLVMFuncOp) (/opt/llvm-beta/bin/flang-new+0x36f6e2c)
#16 0x0000560d4f964c06 mlir::LLVM::ModuleTranslation::convertFunctions() (/opt/llvm-beta/bin/flang-new+0x36f8c06)
#17 0x0000560d4f966ff8 mlir::translateModuleToLLVMIR(mlir::Operation*, llvm::LLVMContext&, llvm::StringRef, bool) (/opt/llvm-beta/bin/flang-new+0x36faff8)
#18 0x0000560d4db34fcb Fortran::frontend::CodeGenAction::generateLLVMIR() (/opt/llvm-beta/bin/flang-new+0x18c8fcb)
#19 0x0000560d4db38fb7 Fortran::frontend::CodeGenAction::executeAction() (/opt/llvm-beta/bin/flang-new+0x18ccfb7)
#20 0x0000560d4d53453c Fortran::frontend::FrontendAction::execute() (/opt/llvm-beta/bin/flang-new+0x12c853c)
#21 0x0000560d4d51cee2 Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) (/opt/llvm-beta/bin/flang-new+0x12b0ee2)
#22 0x0000560d4d5387c8 Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) (/opt/llvm-beta/bin/flang-new+0x12cc7c8)
#23 0x0000560d4d0bd8d6 fc1_main(llvm::ArrayRef<char const*>, char const*) (/opt/llvm-beta/bin/flang-new+0xe518d6)
#24 0x0000560d4d0bc866 main (/opt/llvm-beta/bin/flang-new+0xe50866)
#25 0x0000154a20d39083 __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:342:3
#26 0x0000560d4d0bba6e _start (/opt/llvm-beta/bin/flang-new+0xe4fa6e)
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 19.0.0git (https://github.com/llvm/llvm-project.git 8681202dd638c552eecb818d41312cbbfd48e606)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/llvm-beta/bin
Build config: +assertions
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/serializer-bdf1fd
flang-new: note: diagnostic msg: /tmp/serializer-bdf1fd.sh
flang-new: note: diagnostic msg:
********************
(added .txt extension to be able to add diagnostic files)
[serializer-bdf1fd.txt](https://github.com/user-attachments/files/16195730/serializer-bdf1fd.txt)
[serializer-bdf1fd.sh.txt](https://github.com/user-attachments/files/16195731/serializer-bdf1fd.sh.txt)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWl1zoziX_jXkRoULxIfhIheOE_d4N91JJZ73rdobSkgHR90gUZLIx_z6LQlsg-30JJl37zY1kzaSOOd5zpeO5BCt-VYAXHrJlZdcX5DOPEl12VTPpObiopTs7RJ50Q2qaiK2voAX5PvPoDSXwguuvWBxmBiGUZjPglmw5QZ5OHsyptVetPDwysOrLTdPXTmjsvHwqq6fd__4rZI_gZqZfStLsxAHmLE0ymiSYABaZmHG4jAKMS3LisUZpEHq4byHsCFqC8aLFug1S4s09jvxS8gX4ddcdK_-VnTDuicFhKFGMqjt6lZq_tpPrYU2pK6BXXNlpzy8kq3ZoSvBEA-vSj5wvup4zRCVouLbfvUV0RqU4VLofkn_25mOEoM0KE5q_heo2SoPUD_bSNbVgFQjip9EDW8ghDoNaP14VyyLq_WP6_WPb4cp3rQ1p9wgIQUMw63iz8TAaJEwoCpCR0P2p-oEtQhRzUtaNKSuJfVwpv_ycI4U6K42Hs5ao-yz1ezhbOnhJRKkAS-69vB899J8b3s0-uFNK5VB1tvRAi2Lx_X_3BQbK2FZ3G8ehhfOURgLEQa2oKzuvYDcyrATwiJc_xhGnkndwU6d_muQZd5acG9blTjfzVteE2Ug2HmT7FfZFWdsWcstp6S2CDR5Bvvv4IKdLgZlty1snCEvukazitQaZpPA2NNcopYo0oAZHrqy5nQn6L8WD8XN7c33mx8bJ2lZrH9s0rjYIA-HXrRE_wb0QoRBaeyX3CCooQFhNOICmSdAP4maxiNC_Zs36JE0gIhG1MUeXqKyM-iFmydnQFTKTjDUKkmBdQr04f3evsdIJwFsf6ZRefDqiNLIO5r_BYVF72gG44DYUaWkJZSbNyQrNEDmAomuKUHZsR33KYy_U2xku1PjFA_KaqKNqw-uonkYvyhuDAgPY1vVKBFCGmQHAZXwJgVzFA5p8Xd6S2kmes8Q3mMwAwZbvaYAXD0b9BvZnmTl36GQrTnHXrZOZVWTrbbaAiRfRG9lRgxBDTRSvVkPhMjCcLMH5ccZeCC2T8WR1mXx48_bW7t2xJ0wpkBrq5FQ05HaKZ6mplMzCm4qhSFc6JNQXyqwyUmQ3aUcgZ9EWV7WZUi3QHnFgfXRT3a5tLedqzWuNFgp7n1tpCLbUU3YF5KfRBUCXgqeeTizD9zuLIK6lLHvFkOcHCqu_HXqtzM1ktZE617ogGns5aEy3v252Vn8kJh7DDuDXO9ssAf3TtTs683HavCe38j4P04S1KbtSbkYiuo-MH_t3p8Z1cEMcZf06IVopDtKQeuqq-s3RJ1vmYUylFkkzROoF67hfMEd7ysjO-2xF-Wbedcg59OIdU3zZutoMXA8rrn2Z6rAhf7BXh5euIDs42qIkexUrtWJVyg7iRgPh64CWeNa-bssmIZgYlPPap62AEfcj2VbZ9htzHlimJrsnqOgPyKuu1LJznDh9qKiVVyYwqXyaXY05NXx_FA2DD-nSTEN0bNZgE6r7fs58Z7vP5AOO0J7Hd_JK2-6ZrRpuWqyTwwjkbPQufAZNQyMNyBcB44z11o71a10vcqY8aFmHlmN1DVaFqvi_m79Y3PzcOKMxHWBy4MQvERecnW0aL9pe8n1xGk2ON73vFtml_T970m_PDpq0PONMyglXZveh6-HsYdXT7IBD6-0rMwLUfbjt_Xmjz-v_Jvlcmk7eV6qRtg23nbvduVEtBUSLZLQixa5JePa-rlt_2fWXB6eI9kORbtvkRquG2Lo07DUw6Fb7Uw3711-bSd4GtvpKfJb-QKKi631-e3tv76j9QOqCK-BHR2rhtOItdzyu-XRvPmjk1NPzMOr9YP9JbRRnUtKPaNt60WLEOeplfEsOUPuDRcfj0YqsMv7x4U7vtz9t7OmI7_YHWiQlwZbMHctKCKYh7PQw7nvRTdbMJt-px8GuL7vY3Dz1g8iD6ceTm3vcm8Uajpt0BN5hn2s9p1C6Bw4H_gPFeb-9mbxeGPDqOEGEVR2W6TAHTCMRJ87Vnp4xbXuQNvaSVxXT-uOgeuRqSL6CZWE_jKK0F2BezSE_rKF3dqwHwpmffbcK7lVpEFEbbu-4_zdgRGvRvFc0RD5RvG2hnfPqsiHhhtflj_tellL5TNOtkJqw6lGfqPAtSJcCt8dZVHLKfJbTv0anqFGuH_g2m85IN-407FP286q9NMY-Qq07BQFn3F1HnkfU9Qi9_AqzJHfVPaU4g-e86JrW0N8OU5QifxXVOWJT9vW56Ltjs-9uyTHUYCC1yAIgiQNWMziqmQ0G0WnftP9h3tbNpwvNtY5Hs4OixR5KaQ2Ckjj4szV4z7qso-4w8NXwWuIs4rR0X7q4Sg8ApdnFZwD99CJR74VpP6DCFaD0vuo_5R-llUw0Y-P9NN5ytBEk4ezgWs_vEv2wP2_FxQNgsIkJjiMIohxgIpCge0zoFBmgNp7ewjIw6WJm2iNuzWZaTkLesRxjIMJ3nisJmBJFgQlUoRr29fsy-3W9hz-LV3j4HX_iGdRaEuxY-Hh1Wxmn940g9Ymayf4az_w7NCIzj460TO6K9fhAUkyRRLNsyRHpHS3Eh9EYlhvDfeWU5JZJfODkvRYyRznaAum6HEXGra2LBRDL_AxvVwYy7-WhDV6S0mvOglsLc4OuufndBeiLuyLBZMN4eKfqcznNoii-KAzm-qMs4qlHwgcakMmdSETRRVLJyGTj0I8CUuYQ5h8Km-SfF5CmOyF2rQNjoVS_Jst7_A4Lir_sk7z8MKWk_OjpZT1dHZR862YDq2F3T3vh8P7Z4uCJUcxm5CbFqUwCGNIxgof3KUkqCuioR_qj70OHDDH9pNMD6PfyVsJe5q9BT5HCfIkhqm7JmWuiiOo4hxRKZ5tJ2K7DWu6ddPWHs6a2t3LetFiPzPU_PdM0M8e3rNN1kDGtZ0bRYSuD5Jy14ZtpP29fhjNnpZWCz6agM8TYPP5B7W54WOe_4DjV9wRpRVm8_nEH_ERpSquyi9Quqol_XXiNjc6Afx_RCuKq3JCK5nSSjFg-hVPCVgN590JscP79pNdctd-AXYKmE5gp0ewYxqkX4C9w_yV3iRKq4yOvmexsOZHsNKqykawzAADBlRDOr0X3Udlxi5eSmHg1ZxE_qOxx6UHqP5BbJCqyiZssklRLaO4oiVaSWVp9GorZfEINpRUyeAbiAU92HkLwtKBPdFPd4AZzSo6jdn8CFdWlfNP4oJXoJ2BxS5ivwCLVuWkQuBp155EcRLR38FaDU9ncH2pVaZZEk2yBE93xSSkAPj3hmpaXoNa724xztrq45T6neNzLMoAAE9Y4CO7ZnOa_Y7FgPdA5nk4EP4e-wl5m3-f9gGd00kS4clWyIKSZSxFFQ0L24xOWo6FUuTNpnC0pE9E2c3etl8LL7qxWT0d-2yDkYQZm9QqHB8Bo1maoqFD_ozgIEungo-PGXmQRago3KWqNkSZ4jN9ONXd7uTTf3STTo7ryKMY298H9ekRr5KkgHrFn2MWVyQ9HD0nV077i6pOkLIGZCQaog5R2TTExRRa2EMSMPeNlFTg7kuA_Y1EN4p2obkTN9z-INY5Zf2J0AruNCD_2Y0BID6K9WMt__8XCOO_QJgYX0gD7puK_U0SanT_5hBW_-C_0QXucGu32GwWyz_Q5o8btLq7vb379_rHN7Ra3948os2dG7768xt6uLm_e9js79fuFbjvm7UGhvoLKg9n2hYCGx9Ea0k5seGmOoE0VdzaZ1igAPVf0DFEzF7kR22AV6ZpJ1fCfsmqsDp3GfsVMTP99BWn_KdcgzPCGDA0M68Gwavpvz2wKVUC2qU3YWyMpOI16EPVS65OSZlX427-f5dinQblE2MIfervSvFqkLwK0zBP5lFw1mBW9m-V66f_kP7wHYdNIFywy4jlUU4u4DKc42Cep0EUXjxdVmWV52EYZDjHOcFxHqV0HiVRRHGMsxBf8Esc4DiYhziMkygJZzQjZUqqkJZzSmmWeHEADeH1zH17INX2wt1VX-ZZGscXNSmh1u7PszC2Nc5Nehh7yfWFuuyLQ7fVXhzUXBt9kGK4qeHyUBzDfLjqfnkCYatuy2tuC7Gsa_liP1HJ4KJT9eXXb9d70M-X-H8DAAD__5vehnI">