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

    <tr>
        <th>Summary</th>
        <td>
            Assertion in OMPIRBuilder.cpp
        </td>
    </tr>

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

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

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

<pre>
    While this example doesn't make much sense, it shouldn't assert :)
```
implicit none
integer a(5)
!$omp parallel private(a)
  !$omp cancel parallel if (size(a) .eq. 5)
  !$omp barrier
!$omp end parallel
end
```
Assert:
```
$ flang -c -fopenmp test.f90 
flang-21: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
flang: /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:1749: OpenMPIRBuilder::InsertPointOrErrorTy llvm::OpenMPIRBuilder::createParallel(const LocationDescription &, InsertPointTy, BodyGenCallbackTy, PrivatizeCallbackTy, FinalizeCallbackTy, Value *, Value *, omp::ProcBindKind, bool): Assertion `Outputs.empty() && "OpenMP outlining should not produce live-out values!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/eepshteyn/compilers/flang-upstream/bin/flang -fc1 -triple x86_64-unknown-linux-gnu -emit-obj -fcolor-diagnostics -mrelocation-model pic -pic-level 2 -pic-is-pie -target-cpu x86-64 -fopenmp -resource-dir /home/eepshteyn/compilers/flang-upstream/lib/clang/21 -mframe-pointer=all -o test.o -x f95 test.f90
 #0 0x00005a9c0178fc69 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Support/Unix/Signals.inc:804:11
 #1 0x00005a9c017900fb PrintStackTraceSignalHandler(void*) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Support/Unix/Signals.inc:888:1
 #2 0x00005a9c0178e57f llvm::sys::RunSignalHandlers() /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Support/Signals.cpp:105:5
 #3 0x00005a9c01790689 SignalHandler(int, siginfo_t*, void*) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Support/Unix/Signals.inc:418:7
 #4 0x000070d41d045330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
 #5 0x000070d41d09eb2c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #6 0x000070d41d09eb2c __pthread_kill_internal ./nptl/pthread_kill.c:78:10
 #7 0x000070d41d09eb2c pthread_kill ./nptl/pthread_kill.c:89:10
 #8 0x000070d41d04527e raise ./signal/../sysdeps/posix/raise.c:27:6
 #9 0x000070d41d0288ff abort ./stdlib/abort.c:81:7
#10 0x000070d41d02881b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#11 0x000070d41d03b517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
#12 0x00005a9c0a6fdb8c llvm::OpenMPIRBuilder::createParallel(llvm::OpenMPIRBuilder::LocationDescription const&, llvm::IRBuilderBase::InsertPoint, llvm::function_ref<llvm::Error (llvm::IRBuilderBase::InsertPoint, llvm::IRBuilderBase::InsertPoint)>, llvm::function_ref<llvm::Expected<llvm::IRBuilderBase::InsertPoint> (llvm::IRBuilderBase::InsertPoint, llvm::IRBuilderBase::InsertPoint, llvm::Value&, llvm::Value&, llvm::Value*&)>, std::__1::function<llvm::Error (llvm::IRBuilderBase::InsertPoint)>, llvm::Value*, llvm::Value*, llvm::omp::ProcBindKind, bool) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:1751:3
#13 0x00005a9c06292153 convertOmpParallel(mlir::omp::ParallelOp, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:2803:7
#14 0x00005a9c06291cbc convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&)::$_3::operator()(mlir::omp::ParallelOp) const /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:5752:20
#15 0x00005a9c06291c6e llvm::TypeSwitch<mlir::Operation*, llvm::LogicalResult>& llvm::TypeSwitch<mlir::Operation*, llvm::LogicalResult>::Case<mlir::omp::ParallelOp, convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&)::$_3>(convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&)::$_3&&) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/include/llvm/ADT/TypeSwitch.h:102:22
#16 0x00005a9c06290e25 llvm::TypeSwitch<mlir::Operation*, llvm::LogicalResult>& llvm::detail::TypeSwitchBase<llvm::TypeSwitch<mlir::Operation*, llvm::LogicalResult>, mlir::Operation*>::Case<convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&)::$_3>(convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&)::$_3&&) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/include/llvm/ADT/TypeSwitch.h:60:5
#17 0x00005a9c0627a30c convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:5751:12
#18 0x00005a9c06279bb7 (anonymous namespace)::OpenMPDialectLLVMIRTranslationInterface::convertOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) const /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:6089:10
#19 0x00005a9c08eb6309 mlir::LLVM::ModuleTranslation::convertOperation(mlir::Operation&, llvm::IRBuilderBase&, bool) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:987:23
#20 0x00005a9c08eb6aef mlir::LLVM::ModuleTranslation::convertBlockImpl(mlir::Block&, bool, llvm::IRBuilderBase&, bool) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1037:16
#21 0x00005a9c08eba313 mlir::LLVM::ModuleTranslation::convertOneFunction(mlir::LLVM::LLVMFuncOp) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1584:16
#22 0x00005a9c08ebc19b mlir::LLVM::ModuleTranslation::convertFunctions() /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1849:16
#23 0x00005a9c08ebe254 mlir::translateModuleToLLVMIR(mlir::Operation*, llvm::LLVMContext&, llvm::StringRef, bool) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:2298:25
#24 0x00005a9c0180367e Fortran::frontend::CodeGenAction::generateLLVMIR() /home/eepshteyn/src/flang-upstream/llvm-project/flang/lib/Frontend/FrontendActions.cpp:780:16
#25 0x00005a9c01804fad Fortran::frontend::CodeGenAction::executeAction() /home/eepshteyn/src/flang-upstream/llvm-project/flang/lib/Frontend/FrontendActions.cpp:1268:44
#26 0x00005a9c017f2124 Fortran::frontend::FrontendAction::execute() /home/eepshteyn/src/flang-upstream/llvm-project/flang/lib/Frontend/FrontendAction.cpp:124:10
#27 0x00005a9c017ba102 Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) /home/eepshteyn/src/flang-upstream/llvm-project/flang/lib/Frontend/CompilerInstance.cpp:190:23
#28 0x00005a9c017f90ac Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) /home/eepshteyn/src/flang-upstream/llvm-project/flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:222:8
#29 0x00005a9c00e0e6ca fc1_main(llvm::ArrayRef<char const*>, char const*) /home/eepshteyn/src/flang-upstream/llvm-project/flang/tools/flang-driver/fc1_main.cpp:91:11
#30 0x00005a9c00e08ec1 executeFC1Tool(llvm::SmallVectorImpl<char const*>&) /home/eepshteyn/src/flang-upstream/llvm-project/flang/tools/flang-driver/driver.cpp:66:5
#31 0x00005a9c00e08756 main /home/eepshteyn/src/flang-upstream/llvm-project/flang/tools/flang-driver/driver.cpp:110:7
#32 0x000070d41d02a1ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#33 0x000070d41d02a28b call_init ./csu/../csu/libc-start.c:128:20
#34 0x000070d41d02a28b __libc_start_main ./csu/../csu/libc-start.c:347:5
#35 0x00005a9c00e08425 _start (/home/eepshteyn/compilers/flang-upstream/bin/flang+0x9356425)
flang-21: error: unable to execute command: Aborted (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/eugeneepshteyn/llvm-project.git 0a42db682aa01a66eb99d08063fbc6e6124792f7)
Target: x86_64-unknown-linux-gnu
Thread model: posix
...
Build config: +unoptimized, +assertions
flang-21: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsWl1z3Ciz_jX4htIUQqOvC1-Mncy7qZOUXYnP7uUUQq0ZNgh0ADn2_vpTIGlmNHbsfHgTX7xVrrIGQdPP002roWHWiq0COEfpBUrfnLHe7bQ5h34LCqCzOwf36qzS9f35XzshAbudsBjuWNtJwLUGqxDNHW7ZZ8Btz3fYgrKA6CUWDtud7mU99GDWgnEYJStES0RWKCPjH1mJtpOCC4eVVuB_KwdbMJghWqRjdxojutRthztmmJQgcWfELXOAaMGGPhgfenGmuO8zdRYNRrSw4p-pP17A_y1w-nBkxYwRYGZzgqr3ohBZgapPEKwCOg9u3o7oEjeSqS2OOI4a3YFqO-zAukVTEozIKryNaIySFf7CjBJq6x-vOlAfrrHtu04bh4UaxQiLrRNSYrjrwIgWlGMSo_Qi-uu4JdKdE1qh9M00hReK6HqnW0B0vbctomtrOKLrQY--s84AaxFdS3nbRp3RfwN340__T1SIrtdGK-dZoOtBUf_w4frdx4teyBrMgncdSlZxviwPYPZvPU3J6p3ylF1rodyVeWuMNjf3OMwSXj86hhtgDq4nS9CCa2Udfq8583DfgOVGBOQY0cx74dEsN_e-4ULX9_8BdcmkrBj_PDReB1cS_8C8eS0Ukw9a_2SyB4zo6sEP3XaDntdG8wuh6v8RnqNLXGktvaclKzx4StAwI1e963pnF9B27h7RwvtlUDzDiNLRB3TvpPB-Ma4nrLTDndF1zwFLcQuR7h2-9YrY4LIU0Rw3TEioF4isrt-_XX16i21ftcJhhqt-iw0Et3Ia75zrbFiVa0TXW-F2fbXguj0y-dwRhLVhojVmqsZCcdnXPi4A5obZHfZEOcM4-Lk_OcY_47ofiCErskCkvDZ6a1iLmdn23l3t132T67YTEox9zEMroaZmHDU8xpEzwseluyLbZMuoV5-V_qIiKVR_F21VjyNohYt09bfvr6U2US3YVmnrBLc4ag3I0ZWiVtc-fgiOo07wSMItSEyHH8JGnQAcOWa24CLe9X7KKFselnhkwOrecIhqYX4E3LDQeFi6dE1jHLWNYS1EnfdlvyDeMClxpIdoonF0h5sy3ccWH9UQTQgmd4QQkrKSkzgvGp6VR6vM3tvJY4VywVo33naIFodOhn3Z6EmxsKqEcoOrvlA8-TSEOUTX_6vEnW8QW8WkXQjFUbIqyNJHk3jEFM8xlYQ0FT4BMAj4g6lagkG0uNWiDqv0F2pdFF7rUWl6YghI8-YxQ3zs1Ux3uw8LL671pO4YrEmKklU6qpuccpwVJT4lNbjBJbZiK1SjN24Mg7-B62Xsuc5H5Zej8jmpl3FNlmmSEBx4HKWNAWIfGIYXfGH1IkP0gtyFIWNugGiSzgWWUFGON5vO7QywevNZSLnxSQyEr2-I7gtE16pzEtH1cbdF0Na7c56NwrNvEe6XvGLySbF58Ldp5eePiT0e86SsojyWVZwSSnPAhgkLQYgNtkB0vQi_7m0NnQ9qnbbBVqFnEEtzlKwm4OVcKi2KpsGs8h-mIMfVg7VC06BVPFrZRwHyYHhc4Y2SG6lZval1y8RgBqECRt_c2i1ng6w4zr0y5SgtnktLqjTOv89nwpApW03i2YJnWVNXBf_u_OaZ_o8lPiElGuP0Yfh-4AWz8CABm_dtesW9qI2BBiWXhxchS8Mztb5H7nN9S5S8_VZN7jrgDupZ4zPyk7f_nurHfUNK-MAAT7auwosJv3X18Haziec8_Kw1HjJ8UOD51ufS29-wv0g9Qcm44mbfrIyWNE4TvxxuwbirtjtaVq0U5hTT-Paqe8ryg_0Ow9-___PD8PRB172EG8OUlWFNDib9KU7CPBMnNyHZRHTt53z3EdH1G8Hk0PFAUni40UOfI21GxmhBkqMQujxhLOYVnxj7Q1t3ZYZZrzowI6gj7o5aVy9K2vAS0eUmGa0UZtJmyIWeN2A5RMFXRn6ap9TbgIzspw_Yz-CIxJv7Dj59EY7vUHL5Lay_11vBmfwItpcurPTsRcWF1ssQWS6fXUGvzIveDocFr0ilsM1_oag57sIPDas3N95r9yZf7EI6F9yPju6XnbgfAZr-e-5Xg2NCnooevlOXLzrrsUVm405c-HW5w3891O8MyLgF9f6Zz_0zZwl5DR-n1_dR8TlQPK3q4oS1sqrCPoYpre5b3VusWAu2C4c85fHeYpz8wUTv_N6z8f2HPcqYUP1i1l_jBz0jh22y57485r6AKktI-Y0gv4vaJ_d2w9uXSMmfIewBiJGVsvD7ajpm5ZScksKg-QFSLqTmn9-13Tx9D60zyK-YmJgknpk4G5mJT5hhfgvzA-6iYD3tD4-5OYz3T77LkBr_DuRpsTxGTk-Q87isfgD5BPslzkh_FFkRSlx7ZMkJMqDp8giZGwXAKE9PE3xTDPWdL_3O-O7hAc8nZ4TafoTmNzs5pWXh_41fcTrbYsYFSbIc8Fobz8R4uDFt9ofkTNfwH1ArfrD2FpRnBPZc_Sy0ZqyqPDhsmB6H2aeT8bwgxyZOTxAtG1Z_JyK4A947WE2L9hcDimlWDMfQA6Jsftjf0Jgun0I0lzqD9OvA7LEsjz7BNJ9DqVhM6NPGGWpw75R1TE05zql9vp2Ln08Rvwr_VNWJgJIcf26LE1uWhPGnCBihHoTfjmfKT8N-wNvP13seB34TQtn67dfU3Icdv7ctRhJmiRgBAhlnuOHxpmVCzU5MV8aw-4_hdJnvmJlOz1fjTnLe9kIAndbyUPOtjbgFH2kn_aY0Kp5qnogm8zouAVIAj_Fou_VlPLB0hOtTy6T8E7jTJiRNj8F7MVf9CqDhYcqVs8PWbl7B9WjyNMOhXvOr1IljcjgH3Rdnp1ISiznDm40UFd9Yx4zbcCblZl9R4rZ_WO0aS2mPDQqb23x5OKve11f3M9KiwqG_UMKdTjI8eslRkDwUsGhxdJp4WvQcJM4wPKb-o5KTZX5krPTUWEua4kHkWCD7iYsboXJWJmm2pONdrOMLUWCM9lkR7hWrJGCnJ5_HXLctC9EIryptHNQ4HKAYCNdNoH5C2nBlZApok6jxygyu-zDRUNT0QnsLOLoNbQBYHEXI_Qz4FowVWmEaL8iCbEWg5om7NfMbdie-vPDjCVvSusoKyhiJWZZBVZY1KUiWNBXPIIvpMi9pM1YcxwQtWX318ovvFIq8OFxt8V2H-ixZLRYLRFZhr-QjRCPG22IXvdKdE634B0KdB9ELNl1fsr_m7tr-Mt1ZfZ7UZVKyMziP82VeFLTM07PdOZRNWjZ1QWvGmmXMi6SuE5KmrEgJb0h6Js4poSlJKSUJoWm6qFme5nGdpVBlec4ZWhJomZALb4OFNtuzcMfpPF6SskzPJKtA2nBDktLpLt1wzQdRitI3Z-Y8WK_qtxYtiRTW2YMsJ5yE88O1L6HwaSnrrDfy_McvYo163p7T_w8AAP__zF48TA">