<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61464>61464</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang] [OpenMP] flang-new crashes with "unhandled clauses for translation to LLVM IR" and "LLVM Translation failed for operation: omp.task"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
k-arrows
</td>
</tr>
</table>
<pre>
Test case (https://github.com/gcc-mirror/gcc/blob/master/gcc/testsuite/gfortran.dg/gomp/pr43337.f90)
```console
$ cat pr43337.f90
! PR middle-end/43337
! { dg-do compile }
! { dg-options "-fopenmp -O2 -g" }
subroutine pr43337
integer :: a, b(10)
call foo (b)
call bar (b)
contains
subroutine foo (b)
integer :: b(10)
!$omp parallel if (.false.)
!$omp task if (.false.) shared(b)
do a = 1, 10
b(a) = 1
end do
!$omp end task
!$omp end parallel
end subroutine foo
subroutine bar (b)
integer :: b(10)
!$omp parallel if (.false.)
!$omp parallel if (.false.)
do a = 1, 10
b(a) = 1
end do
!$omp end parallel
!$omp end parallel
end subroutine bar
end subroutine pr43337
```
Stack dump at the compilation with flang-new:
(Location of error is pr43337.f90:10:3.)
```console
#0 0x000055ac3a02df07 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
#1 0x000055ac3a02c347 llvm::sys::RunSignalHandlers()
#2 0x000055ac3a02d013 SignalHandler(int) Signals.cpp:0:0
#3 0x00007fc5780fa520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x000055ac3bf4f0ed llvm::CodeExtractor::findAllocas(llvm::CodeExtractorAnalysisCache const&, llvm::SetVector<llvm::Value*, std::vector<llvm::Value*, std::allocator<llvm::Value*>>, llvm::DenseSet<llvm::Value*, llvm::DenseMapInfo<llvm::Value*, void>>>&, llvm::SetVector<llvm::Value*, std::vector<llvm::Value*, std::allocator<llvm::Value*>>, llvm::DenseSet<llvm::Value*, llvm::DenseMapInfo<llvm::Value*, void>>>&, llvm::BasicBlock*&) const
#5 0x000055ac3bcb0df5 llvm::OpenMPIRBuilder::createParallel(llvm::OpenMPIRBuilder::LocationDescription const&, llvm::IRBuilderBase::InsertPoint, llvm::function_ref<void (llvm::IRBuilderBase::InsertPoint, llvm::IRBuilderBase::InsertPoint)>, llvm::function_ref<llvm::IRBuilderBase::InsertPoint (llvm::IRBuilderBase::InsertPoint, llvm::IRBuilderBase::InsertPoint, llvm::Value&, llvm::Value&, llvm::Value*&)>, std::function<void (llvm::IRBuilderBase::InsertPoint)>, llvm::Value*, llvm::Value*, llvm::omp::ProcBindKind, bool)
#6 0x000055ac3ade9bdd convertOmpParallel(mlir::omp::ParallelOp, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) OpenMPToLLVMIRTranslation.cpp:0:0
#7 0x000055ac3adeff1f (anonymous namespace)::OpenMPDialectLLVMIRTranslationInterface::convertOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) const OpenMPToLLVMIRTranslation.cpp:0:0
#8 0x000055ac3b07936e mlir::LLVM::ModuleTranslation::convertOperation(mlir::Operation&, llvm::IRBuilderBase&)
#9 0x000055ac3b07ad53 mlir::LLVM::ModuleTranslation::convertBlock(mlir::Block&, bool, llvm::IRBuilderBase&)
#10 0x000055ac3b080236 mlir::LLVM::ModuleTranslation::convertOneFunction(mlir::LLVM::LLVMFuncOp)
#11 0x000055ac3b08034b mlir::LLVM::ModuleTranslation::convertFunctions()
#12 0x000055ac3b080a52 mlir::translateModuleToLLVMIR(mlir::Operation*, llvm::LLVMContext&, llvm::StringRef)
#13 0x000055ac3a3cf6c8 Fortran::frontend::CodeGenAction::generateLLVMIR()
#14 0x000055ac3a42b81f Fortran::frontend::CodeGenAction::executeAction()
#15 0x000055ac3a04d91f Fortran::frontend::FrontendAction::execute()
#16 0x000055ac3a0475a3 Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&)
#17 0x000055ac3a050f11 Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*)
#18 0x000055ac39d78db2 fc1_main(llvm::ArrayRef<char const*>, char const*)
#19 0x000055ac39c0b332 main
#20 0x00007fc5780e1d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#21 0x00007fc5780e1e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#22 0x000055ac39d770a5 _start
flang-new: error: unable to execute command: Segmentation fault
flang-new: error: flang frontend command failed due to signal (use -v to see invocation)
flang-new version 17.0.0 (https://github.com/llvm/llvm-project.git 9e8bac7480640677e04f4b9f98c41cb94f8180e2)
Target: x86_64-unknown-linux-gnu
Thread model: posix
```
Program arguments:
```console
flang-new -fc1 -triple x86_64-unknown-linux-gnu -emit-obj -fopenmp -fcolor-diagnostics -mrelocation-model pic -pic-level 2 -pic-is-pie -target-cpu x86-64 -o pr43337.o -x f95-cpp-input pr43337.f90
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWEtv2zrT_jXMhpBBUbIuiyyc5Pj7irdFg7ToNqDIkc1TihRIKk3__QtKsnWJmybFObsXSF1xOJx5-HBmeGHOyYMGuEbbG7S9u2KdPxp7_T1i1pof7qoy4uf1V3Aec-YAI1ocvW8dSnaI7hHdH6Q_dtWGmyY0OI8aaa2xQwPRfaVMhei-Yc7DJPXgvOukhyCpjfWW6Y04hJZpWkT3rU2TJMk3dUkQLRG5Q2SHMjL8caOdUTBKaYo583g-YuyI8f0DbqQQCiLQAtF9rzJ1o_wGi0MkDOamaaUCjPK7F92m9dJohxGlUW1a0E2Lo88URwdE6WxE_-u6yprOSw0nRIMcY6k9HMDiQF2ywwzRW1whWsTTDDHmTClcGxOIrtbyitmlnBvtmdTupDVzfsHGCwgr74jGiKamaXHLLFMKFJZ1MLKpmXKwuaDomfv-Qgm7I7MgXngXBjOMkjsch6nHZOrBPRQWxg795x7QAguzdhukwfUl-Qn7yUaQLXkZe2bCF8T-K2T9RvGfp2hJxbtoqpgdelbyRUyfE3KeAF8849-x6JoWM4_9EcbcYiGJ8A_pj7hWTB8iDT8CtSO24qPhg4qpMYQSgqVbJHWyi8NPsvlNQcCIJgSTZ0II2W4ZTxihoiY5VuqpGRbT_XTDx72V2veIv1rGAdFiUrLsx6Nx3gJrEM3Cekjtp9VCNIlXXniSXvTy0Okv8qCZ-n-mhQLrEC0WhugaLokTvBiCaDF4H8Vuw9sWJTvS_zsbSkZDec23eUFqtqUE9972SoY6_Fxkj1kaKam75-igu6GDb5zZZIjekOeUbilZgEvn4Ko6rQmI2SxvjYC_nr1l3Bs7iGqpxU4pw5lbMLpQ3WmmfjrpbhnvY0Q7P9I8DfgC_hsMdm8n6TemOkB0F3SdF4Pw6Y16rMf1S9Xkr_C3AHEH2sEX8L-0vVL9xNoPuja_VH8yUox-gqv_TfmGOclvlOHfe_UsRHkfD3gKwu0iCHlFRL2dmfjcgv50_-HhppNKwBiG3ALzcH8qdPNIvKh_qkB34LiV_ab_i7g8D7xhDkaRdmD9vemzdK5bd5oHU48WapTcBirwAst7jP1Ot3yxlCv3bzX170Gc644xkr1DOgbIOM9zjJ-m-UcMv2TtcqxfloYD67iZGH4jtfiPDGfNW1wZoxaVNFuUeQFlJUSIsCew_nPTziK1UdKurY-9n9vX-B5Ym4Z__Pjt0_D1yYhOwVfLtBv24jHThlT4aoLmh4dZ_-UdJl_Noa7j_jTDtNE_G9M5rFkDru1303KebXeSKeD-hZ8P2oOtg_6QtSMfLdgR5oyNmXT3z9IwFJx3klEsqhLJyySDN3p911xfLT9DPpwxlStMTGyTP8A01uMZnlGSTaH9JkzhnESWmAoScuEPeNKwP-X5HNk0PnwFlZAkM__x2n-SVn_g_-R8cX4L9unaPtvSmX0_2oPR_Bheb4zsoHxrtIfnCwckb6U-PEC9gJMscjThdcYLvB9u2WO5tMGgFtO57P9A7_g04wPogAfOSBcOFkdCltKqiOt3OoBn4J2H3Wk1F_a3y_NwKsrX7e_H1gUHa9PZynS-Zcnr0PuHAftBO8_0qUit0b8d2yozluWUbEkdx6_BGR1PqJ7GQ8vrIF7MIgTZDMaikJUiL0RFcc3jx4ZJvdhLd9aynw_9WYIfmT0dkHbjFrqUzV0s6lLJSZUkFPfmTyqULG8vEIvynbcXWor5gxFNaLy2CSnBj49h2KPzzPp-iu_1AunSC13xlxO2xYP9QWl-5R2ut-Gj06xSgL3B47qGu3LD-lXDX-DQgPbDpbhmnXrVVC_Fp1U_2cE1kwoEFl3vxfV3xzDZzgGOnnoZAJazMCpXXvATWBcgxPmGbMhvXgD7QBn-i1pr_gbuNwfpcQlFxXieFiRLSZbnQNI6rcq6LHga86pM6yIuCNCz_6_MHsIFZIfH5ej0d21-6NmyDHpHC0zgxghQQbs1Tj6_8jxxb83BsgYze-gCvW56g7j4mjDxENU8xpG3slXwS1A4gkb6yFR_4-mtsOZGGRsJyQ7aOC-5w1FjQY2cRz143EqOo1bySMETKEyHhnRRKwFHvucj4m0XfEdZiiNzfh4xOHrGdbmNeNtGUrfdpefQ0_SuxHUiyqRkV3AdZ3lJaFqQ-Op4nVdFLigrs4TmCS1SGvO8rotiy1KRkYxfyWtKaEKSOCdJmqXxBgpe5yyOqyqJoc5TlBJomFSbsP4bYw9X0rkOrrM4zdIrxSpQrn9opjQw2nciStH27spe9zFTdQeHUqKk826y4qVX_Qt1vxpoe4fR9mY4q4XGtEbcMncENzwzIUo7fezfTwTminUOHK6NxX7a30MGhD0Oh02O4pAyiNJeMjsFnNIoDDbnjTrZYdO0m_4hktKrzqrr92UGovueAofovqfovwEAAP__77ANkQ">