<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/142365>142365</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang][OpenMP] crashes when using task private with character pointer/allocatable
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
k-arrows
</td>
</tr>
</table>
<pre>
Reproducer:
https://godbolt.org/z/EEo3Y7Kee
```f90
character(:), pointer :: c1
character(:), allocatable :: c2
!$omp task private(c1, c2)
!$omp end task
end
```
Backtrace:
```console
flang-21: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang -fc1 -triple x86_64-unknown-linux-gnu -S -mrelocation-model pic -pic-level 2 -pic-is-pie -target-cpu x86-64 -mllvm -x86-asm-syntax=intel -fopenmp -resource-dir /opt/compiler-explorer/clang-llvmflang-trunk-20250601/lib/clang/21 -mframe-pointer=all -o /app/output.s -x f95 /app/example.f90
#0 0x0000000003e95aa8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang+0x3e95aa8)
#1 0x0000000003e93664 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#2 0x00007365f9e42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#3 0x000000000223afbc llvm::IRBuilderBase::SetInsertPoint(llvm::Instruction*) (/opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang+0x223afbc)
#4 0x0000000005bec172 convertOmpTaskOp(mlir::omp::TaskOp, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) OpenMPToLLVMIRTranslation.cpp:0:0
#5 0x0000000005bf0cd3 convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) OpenMPToLLVMIRTranslation.cpp:0:0
#6 0x0000000005bf2695 (anonymous namespace)::OpenMPDialectLLVMIRTranslationInterface::convertOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) const OpenMPToLLVMIRTranslation.cpp:0:0
#7 0x000000000758e7c6 mlir::LLVM::ModuleTranslation::convertOperation(mlir::Operation&, llvm::IRBuilderBase&, bool) (/opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang+0x758e7c6)
#8 0x000000000758ec0c mlir::LLVM::ModuleTranslation::convertBlockImpl(mlir::Block&, bool, llvm::IRBuilderBase&, bool) (/opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang+0x758ec0c)
#9 0x00000000075946b7 mlir::LLVM::ModuleTranslation::convertOneFunction(mlir::LLVM::LLVMFuncOp) (/opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang+0x75946b7)
#10 0x0000000007595e18 mlir::LLVM::ModuleTranslation::convertFunctions() (/opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang+0x7595e18)
#11 0x000000000759e2ae mlir::translateModuleToLLVMIR(mlir::Operation*, llvm::LLVMContext&, llvm::StringRef, bool) (/opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang+0x759e2ae)
#12 0x00000000041a296f Fortran::frontend::CodeGenAction::generateLLVMIR() (/opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang+0x41a296f)
#13 0x00000000041a7b18 Fortran::frontend::CodeGenAction::executeAction() (/opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang+0x41a7b18)
#14 0x0000000003eed9cd Fortran::frontend::FrontendAction::execute() (/opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang+0x3eed9cd)
#15 0x0000000003edbb08 Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) (/opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang+0x3edbb08)
#16 0x0000000003ef6913 Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) (/opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang+0x3ef6913)
#17 0x00000000021fae1a fc1_main(llvm::ArrayRef<char const*>, char const*) (/opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang+0x21fae1a)
#18 0x00000000020b16ef main (/opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang+0x20b16ef)
#19 0x00007365f9e29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#20 0x00007365f9e29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#21 0x00000000021f97e5 _start (/opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin/flang+0x21f97e5)
flang-21: error: unable to execute command: Segmentation fault (core dumped)
flang-21: error: flang frontend command failed due to signal (use -v to see invocation)
flang version 21.0.0git (https://github.com/llvm/llvm-project.git fbb22ce1aae919606f2db81255b8e054c949783c)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/compiler-explorer/clang-llvmflang-trunk-20250601/bin
flang-21: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
flang-21: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
flang-21: note: diagnostic msg: /tmp/example-51155c
flang-21: note: diagnostic msg: /tmp/example-51155c.sh
flang-21: note: diagnostic msg:
********************
Compiler returned: 254
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzEWV1z3CgW_TX4hVKXhD5aeuiH9ocmrnXWLtu7U_vkQuhKzRqBCpDd2V-_BVK71Z1Jxk7SM6lOBSG495zLvYBOqDG8lQArlJ6j9PKMDnaj9Oo5oFqrV3NWqfrL6h56reqBgUbxGoXrjbW9cU1SIlK2qq6UsAulW0TK_yFSXl2p-D_LfwCgcI2ycPw1RYjCNdtQTZkFjUjuLRSIXOBecWlBY9cTrzGLvjmSCqEYtbQS8DaaODckQiRRXY8tNc-41_yFWkAkZ5GbxoibPx8GsvZDUbgGWc-Buna4Pqfs2WrKYKT89pYpaZRwzBpBZRuQyGF4pVpy2brmbQ_y8x02Q98rbTGX2A_E3GBjuRAYtj1o3oG0VGCUnge_z3sC1VuuJEovUbi-u7laP1xhM1Qdt5jiamixBm_XKny0DNxuhmrBVIdIKcTL7p-g1-q_wCwiJTdmAINIiamsMZdMDDVguwHMNDUbXO04L1C4frCUPeN66PoxAuEChcWdVq2mHaa6HRxe5x4jUqre2Weq67kAHcC2F0q7pSuZj5IDMsbL6kE-ByQkaZiFESJlxSUi5RijoGERDqzmvQC8zbOnLAkG-SzVqwwEl8M2aOWAgwccdBp8InAlg07VIHDPGQ56zgIBLyAwGR-4CXoOOLBUt2AD1g_ObpAlOOgcKBy4R2q6wHyRlm5RfOlSUeCgUT3IrseBBqMGzSCouf5JroJXu2GIlCTCQddo2kEwFQCKL6kQOFDOD-17522w_WAXBgdb3BTp_gVsadcLWIx1hRGJQxxuw92fGIqU0hz7TPCFYr6YsXGnubR-eR99gpN8P0jT1ydlrAbaIZK50uHSIlJgV4W_ap0ROQ-3E8CxLh386Ah-nGUJfuCtpOITlbXwO4FHc4ENb7ls1JNFZO2eXxSvfbOYZpgF613ihv7v6IBMDpZxljYFJCQl4cRrXJgp494ybXzBFkYtMo_ZT9kjjueICYlpU7FZwK_vzwcuatDn1MDY9QD2WhrQ9k55JrPIX0tj9cB88Y9MfnnIJ4h7AsmcQFoBi5YEMyVfQNvbrn-k5vm2RyTvBNcjSjVuB_F69-7im4TH9NlPvbn59-ex9VnVg4BHTaURdCScOcLj1vmo3Mjr-9n7P1jM9BB6E7I63kH_pIy91Y--5G970JOPGY1Z7_rv45AdcSCZL_CcSiW_dGowWNIOTO-LtHhDLj_fXXIqgNmvnFy7XaSZTq14vVvKvzgG7oy0H4rEch6JZZrDkmXvdPkhotmfE62UEiepvonWvvryY9IsZD9A-lwo9nzd9eKAtO89oPS3EmfhbNspDokXSVYtf2S1JZSDZF-t936-a7khbqM6CTEPfXe1jKPwiFgKUf4DxHasjEd8GuAO2h54dAQcCIUZcDsBhQn3VNPv3E7c4AslLWztVxX4YDWX7T00J85Az2jPl8z5JhElRdbgUmlHdATWaIdY1uPTharhN5Brtl-rFqQjDG-hOAnyCdseeXyEfFlF-QeRwxbYYGG9q5xTAXfQ9sCTw-sd1AWrvwe8nJ7-APmpME-o9pjTQ8x1VYV_EuwRhbvLUbk7hY_j_X7S43F6Ap6eyZ5ndsizyYoo_h7PidGe7sv0LfZ9dl-F50T33InBnt_B9YJEDYWI4oZFTx11U2e38LXW9IvbjuILtqF6vMo4nPGV1xEO-k5yRx_R7bEf3BJIWEUZNNjhPoHv0fred3H4xUSKuvjgF5Of8maQhMcGIQnx05Ob82Qs1fZpxuzdLiCZuYiO1rpYQopH4ydZLWd_9D4XhEBr5Q5GPEivVVmFp6LBTHUd9SWBH6D1qo8rHdzQQXiITGnwwgvU3zE8Kia7AttZxQ3lAmpcD96n8R_DzuhgAAcvvg8A81nFvnnAL6CNQ0KiRbgIW-7RfExlWrhZTVURwiCiFIqoyMKsIXWVRyRNqxzCNGFFUizzeLoRjt9pjtK3FB83aKOB1thLPW5orwzfotB_NVMhoL7095BfoEX9JcLe3IVU1h0UuOa0lcpYznBnvEef0T_x80LmpCGuHx_XF5_w46crXN7e3Nz-fv3P33B5fXP1gB9vfff5v37D91d3t_ePo-B3p6HXioExUONRAkMkN27Xc4lGjVGMUws11oPEhmnuAj8N0IC9Pgc1pna0907OpLTdTN8K0ihKU_az8xdm86Gw_3Tkd2cd1mAHLcHXO0mTuZZ8Vq_iuogLegaraJnkeRZnaXS2WSUAZJlBlrGoyPK6hpyQMAppHecJWbLwjK-mrCVRRJZxtGjCvC5Iw-oMcpYkEUpC6CgXC5ftC6XbMy_-rqKExFl6JmgFwnjRn5BpOyMovTzTK1_N1dAalISCG2v2Jiy3wv9PQelnpJcoPR-rAqWXo4YMBr9uQOLBcNkeaPH4ldsNflP1d5o_IuVM0z8btFj9uK49sXtZkf8HAAD__-eoqPY">