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

    <tr>
        <th>Summary</th>
        <td>
            flang: fails to link on `error: undefined reference to 'Fortran::semantics::OmpStructureChecker::`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            build-problem,
            flang
      </td>
    </tr>

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

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

<pre>
    On Linux Ubuntu
Full log:
https://llvm-jenkins.debian.net/job/llvm-toolchain-lunar-binaries/architecture=amd64,distribution=lunar,label=amd64/189/consoleFull

```

: && /build/source/build-llvm/./bin/clang++ -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -ffile-prefix-map=/build/source/build-llvm/tools/clang/stage2-bins=build-llvm/tools/clang/stage2-bins -ffile-prefix-map=/build/source/= -no-canonical-prefixes -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion -Wcovered-switch-default -Wno-nested-anon-types -O2 -DNDEBUG -g1 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--build-id -fuse-ld=gold -Wl,--gc-sections tools/flang/tools/bbc/CMakeFiles/bbc.dir/bbc.cpp.o -o bin/bbc -Wl,-rpath,"\$ORIGIN/../lib:/build/source/build-llvm/tools/clang/stage2-bins/lib:" lib/libFIRDialect.a  lib/libFIRDialectSupport.a  lib/libFIRSupport.a lib/libFIRTransforms.a  lib/libFIRBuilder.a  lib/libHLFIRDialect.a lib/libHLFIRTransforms.a  lib/libMLIRAffineAnalysis.a lib/libMLIRAffineDialect.a  lib/libMLIRAffineTransforms.a lib/libMLIRAffineTransformOps.a  lib/libMLIRAffineUtils.a lib/libMLIRAMDGPUDialect.a  lib/libMLIRAMDGPUTransforms.a lib/libMLIRAMDGPUUtils.a  lib/libMLIRAMXDialect.a  lib/libMLIRAMXTransforms.a lib/libMLIRArithDialect.a  lib/libMLIRArithValueBoundsOpInterfaceImpl.a lib/libMLIRArithTransforms.a  lib/libMLIRArithUtils.a lib/libMLIRArmNeonDialect.a  lib/libMLIRArmSMEDialect.a lib/libMLIRArmSMETransforms.a  lib/libMLIRArmSVEDialect.a lib/libMLIRArmSVETransforms.a  lib/libMLIRAsyncDialect.a lib/libMLIRAsyncTransforms.a  lib/libMLIRBufferizationDialect.a lib/libMLIRBufferizationTransformOps.a  lib/libMLIRBufferizationTransforms.a lib/libMLIRComplexDialect.a  lib/libMLIRControlFlowDialect.a lib/libMLIRDLTIDialect.a  lib/libMLIREmitCDialect.a  lib/libMLIRFuncDialect.a lib/libMLIRFuncTransforms.a  lib/libMLIRGPUDialect.a lib/libMLIRGPUTransforms.a  lib/libMLIRGPUTransformOps.a lib/libMLIRIndexDialect.a  lib/libMLIRIRDL.a  lib/libMLIRLinalgDialect.a lib/libMLIRLinalgTransformOps.a  lib/libMLIRLinalgTransforms.a lib/libMLIRLinalgUtils.a  lib/libMLIRLLVMIRTransforms.a lib/libMLIRLLVMDialect.a  lib/libMLIRNVVMDialect.a  lib/libMLIRROCDLDialect.a lib/libMLIRMathDialect.a  lib/libMLIRMathTransforms.a lib/libMLIRMemRefDialect.a  lib/libMLIRMemRefTransformOps.a lib/libMLIRMemRefTransforms.a  lib/libMLIRMemRefUtils.a lib/libMLIRMLProgramDialect.a  lib/libMLIRNVGPUDialect.a lib/libMLIRNVGPUUtils.a  lib/libMLIRNVGPUTransformOps.a lib/libMLIRNVGPUTransforms.a  lib/libMLIROpenACCDialect.a lib/libMLIROpenMPDialect.a  lib/libMLIRPDLDialect.a lib/libMLIRPDLInterpDialect.a  lib/libMLIRQuantDialect.a lib/libMLIRQuantUtils.a  lib/libMLIRSCFDialect.a lib/libMLIRSCFTransformOps.a  lib/libMLIRSCFTransforms.a lib/libMLIRSCFUtils.a  lib/libMLIRShapeDialect.a lib/libMLIRShapeOpsTransforms.a  lib/libMLIRSparseTensorDialect.a lib/libMLIRSparseTensorTransforms.a  lib/libMLIRSparseTensorPipelines.a lib/libMLIRSparseTensorUtils.a  lib/libMLIRSPIRVDialect.a lib/libMLIRSPIRVModuleCombiner.a  lib/libMLIRSPIRVConversion.a lib/libMLIRSPIRVTransforms.a  lib/libMLIRSPIRVUtils.a lib/libMLIRTensorDialect.a  lib/libMLIRTensorInferTypeOpInterfaceImpl.a lib/libMLIRTensorTilingInterfaceImpl.a  lib/libMLIRTensorTransforms.a lib/libMLIRTensorTransformOps.a  lib/libMLIRTensorUtils.a lib/libMLIRTosaDialect.a  lib/libMLIRTosaTransforms.a lib/libMLIRTransformDialect.a  lib/libMLIRTransformPDLExtension.a lib/libMLIRTransformDialectTransforms.a  lib/libMLIRTransformDialectUtils.a lib/libMLIRUBDialect.a  lib/libMLIRVectorDialect.a lib/libMLIRVectorTransforms.a  lib/libMLIRVectorTransformOps.a lib/libMLIRVectorUtils.a  lib/libMLIRX86VectorDialect.a lib/libMLIRX86VectorTransforms.a  lib/libMLIRTestDynDialect.a lib/libMLIRTosaTestPasses.a  lib/libMLIRFuncInlinerExtension.a lib/libMLIRFuncAllExtensions.a  lib/libMLIRAffineToStandard.a lib/libMLIRSCFToControlFlow.a  lib/libFortranCommon.a  lib/libFortranParser.a lib/libFortranEvaluate.a  lib/libFortranSemantics.a  lib/libFortranLower.a lib/libFIRAnalysis.a  lib/libFIRTransforms.a  lib/libFIRCodeGen.a lib/libMLIRMathToFuncs.a  lib/libFIRBuilder.a  lib/libFIRSupport.a lib/libMLIROpenACCToLLVMIRTranslation.a lib/libMLIROpenMPToLLVMIRTranslation.a  lib/libHLFIRDialect.a lib/libFIRDialect.a  lib/libFIRDialectSupport.a  lib/libMLIROpenMPToLLVM.a lib/libMLIRAffineTransformOps.a  lib/libMLIRAMDGPUTransforms.a lib/libMLIRAMDGPUUtils.a  lib/libMLIRAMDGPUDialect.a lib/libMLIRArithValueBoundsOpInterfaceImpl.a  lib/libMLIRAsyncTransforms.a lib/libMLIRBufferizationTransformOps.a  lib/libMLIREmitCDialect.a lib/libMLIRGPUTransformOps.a  lib/libMLIRIRDL.a lib/libMLIRLinalgTransformOps.a  lib/libMLIRMathTransforms.a lib/libMLIRMemRefTransformOps.a  lib/libMLIRMLProgramDialect.a lib/libMLIRNVGPUUtils.a  lib/libMLIRNVGPUTransformOps.a lib/libMLIRNVGPUTransforms.a  lib/libMLIROpenACCDialect.a lib/libMLIROpenMPDialect.a  lib/libMLIRSCFTransformOps.a lib/libMLIRShapeOpsTransforms.a  lib/libMLIRShapeDialect.a lib/libMLIRSparseTensorPipelines.a  lib/libMLIRSparseTensorTransforms.a lib/libMLIRLinalgTransforms.a  lib/libMLIRMemRefTransforms.a lib/libMLIRArithTransforms.a  lib/libMLIRNVGPUDialect.a lib/libMLIRSCFTransforms.a  lib/libMLIRComplexToLLVM.a lib/libMLIRComplexToLibm.a  lib/libMLIRComplexToStandard.a lib/libMLIRGPUToNVVMTransforms.a  lib/libMLIRGPUToGPURuntimeTransforms.a lib/libMLIRGPUTransforms.a  lib/libMLIRIndexDialect.a lib/libMLIRBuiltinToLLVMIRTranslation.a  lib/libMLIRLLVMToLLVMIRTranslation.a lib/libMLIRExecutionEngineUtils.a  lib/libMLIRGPUToLLVMIRTranslation.a lib/libMLIRROCDLToLLVMIRTranslation.a  lib/libMLIRROCDLDialect.a lib/libMLIRAsyncToLLVM.a  lib/libMLIRAsyncDialect.a lib/libMLIRFuncTransforms.a  lib/libMLIRFuncToLLVM.a lib/libMLIRArithToLLVM.a  lib/libMLIRControlFlowToLLVM.a lib/libMLIRMathToLibm.a  lib/libMLIRMathToLLVM.a lib/libMLIRArithAttrToLLVMConversion.a  lib/libMLIRMemRefToLLVM.a lib/libMLIRReconcileUnrealizedCasts.a  lib/libMLIRSparseTensorUtils.a lib/libMLIRSPIRVModuleCombiner.a  lib/libMLIRSPIRVTransforms.a lib/libMLIRSPIRVConversion.a  lib/libMLIRSPIRVUtils.a lib/libMLIRSPIRVDialect.a  lib/libMLIRTensorInferTypeOpInterfaceImpl.a lib/libMLIRTensorTilingInterfaceImpl.a  lib/libMLIRLinalgUtils.a lib/libMLIRTensorTransformOps.a  lib/libMLIRTensorTransforms.a lib/libMLIRAffineTransforms.a  lib/libMLIRSCFUtils.a lib/libMLIRVectorToLLVM.a  lib/libMLIRAMXTransforms.a lib/libMLIRAMXDialect.a  lib/libMLIRArmNeonDialect.a lib/libMLIRArmSMETransforms.a  lib/libMLIRArmSVETransforms.a lib/libMLIRArmSVEDialect.a  lib/libMLIRTargetLLVMIRExport.a lib/libMLIRLLVMIRTransforms.a  lib/libMLIRNVVMDialect.a lib/libMLIRTranslateLib.a  lib/libMLIRVectorToArmSME.a lib/libMLIRArmSMEDialect.a  lib/libMLIRTensorUtils.a lib/libMLIRTosaTransforms.a  lib/libMLIRTransformPDLExtension.a lib/libMLIRTransformDialectTransforms.a  lib/libMLIRUBDialect.a lib/libMLIRVectorTransformOps.a  lib/libMLIRTransformDialect.a lib/libMLIRTransformDialectUtils.a  lib/libMLIRVectorToSCF.a lib/libMLIRVectorTransforms.a  lib/libMLIRBufferizationTransforms.a lib/libMLIRGPUDialect.a  lib/libMLIRDLTIDialect.a  lib/libMLIRLinalgDialect.a lib/libMLIRMathDialect.a  lib/libMLIRParser.a  lib/libMLIRBytecodeReader.a lib/libMLIRAsmParser.a  lib/libMLIRTilingInterface.a lib/libMLIRMemRefUtils.a  lib/libMLIRX86VectorTransforms.a lib/libMLIRVectorUtils.a  lib/libMLIRX86VectorDialect.a lib/libMLIRLLVMCommonConversion.a  lib/libMLIRLLVMDialect.a lib/libMLIRTestDynDialect.a  lib/libMLIRTosaTestPasses.a lib/libMLIRTosaDialect.a  lib/libMLIRQuantUtils.a  lib/libMLIRQuantDialect.a lib/libMLIRFuncAllExtensions.a  lib/libMLIRFuncInlinerExtension.a lib/libMLIRAffineToStandard.a  lib/libMLIRAffineUtils.a lib/libMLIRAffineAnalysis.a  lib/libMLIRVectorDialect.a lib/libMLIRVectorInterfaces.a  lib/libMLIRMaskableOpInterface.a lib/libMLIRMaskingOpInterface.a  lib/libMLIRSCFToControlFlow.a lib/libMLIRSCFDialect.a  lib/libMLIRBufferizationDialect.a lib/libMLIRFuncDialect.a  lib/libMLIRSparseTensorDialect.a lib/libMLIRTensorDialect.a  lib/libMLIRAffineDialect.a lib/libMLIRMemRefDialect.a  lib/libMLIRDialectUtils.a lib/libMLIRArithUtils.a  lib/libMLIRComplexDialect.a lib/libMLIRShapedOpInterfaces.a  lib/libMLIRParallelCombiningOpInterface.a lib/libMLIRDestinationStyleOpInterface.a  lib/libMLIRControlFlowDialect.a lib/libMLIRArithDialect.a  lib/libMLIRCastInterfaces.a  lib/libMLIRDialect.a lib/libMLIRInferIntRangeCommon.a  lib/libMLIRValueBoundsOpInterface.a lib/libMLIRTransforms.a  lib/libMLIRTransformUtils.a  lib/libMLIRRewrite.a lib/libMLIRPDLToPDLInterp.a  lib/libMLIRPDLInterpDialect.a lib/libMLIRPDLDialect.a  lib/libMLIRPass.a  lib/libMLIRAnalysis.a lib/libMLIRCallInterfaces.a  lib/libMLIRControlFlowInterfaces.a lib/libMLIRInferTypeOpInterface.a  lib/libMLIRSideEffectInterfaces.a lib/libMLIRPresburger.a  lib/libMLIRLoopLikeInterface.a lib/libMLIRViewLikeInterface.a  lib/libMLIRInferIntRangeInterface.a lib/libMLIRDataLayoutInterfaces.a  lib/libMLIRMemorySlotInterfaces.a lib/libMLIRCopyOpInterface.a  lib/libMLIRRuntimeVerifiableOpInterface.a lib/libMLIRIR.a  lib/libMLIRSupport.a  lib/libFortranSemantics.a lib/libFortranEvaluate.a  lib/libFortranParser.a  lib/libFortranCommon.a lib/libFortranDecimal.a  lib/libclang-cpp.so.17  lib/libLLVM-17.so.1 && :
build-llvm/tools/clang/stage2-bins/flang/lib/Semantics/semantics.cpp:87: error: undefined reference to 'Fortran::semantics::OmpStructureChecker::Enter(Fortran::parser::OmpClause::OmpxAttribute const&)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
[47/71] Linking CXX executable bin/flang-new
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUWl1z6jjS_jXOjUsUMQGSi1wQE85LFTnhhXycvZqS7bbRRJa8kpyE-fVbsoFgWxKczO5WbdXUmaCnuyW1WlI_bWEpScYAbr3hnTecXuBSbbi4lVv6DlIJuIh4sr19ZP6CsPLTf45KpkqvP_X6k1lJqU955g0mdcNGqULqX8HMC2aUvufoT2BvhMleAhHBrMdAecHsTx7tccU5jTeYMERLhgWKCMOCgPSCGRbxhiiIVSnAG0xxnoyuvCBMiFSCRKUinHmDaaXmBSHFEdAvsdnl9Y0XzGLOJKegR1oPcffvqL_777hxMPG9YOQFI98LZlFJaOIFM8lLEcO-AelBe8GspxsI0z1QzDIvuPOCOx-lUuH4DRWC63FzgaQSnGU-ek25yLHy0SsIwYU3mNYNSEJcCqK2PnplHJWslJCgmOc5ZgmihAHCIitzYFo3wQqQIjn4aPrH7HH1NJ_944_14_MqvPcG08BH6XIe-ihlHEnIMVMkRoQpEAWXRPvLR-k7kSQilKgtIkx3INGGJAmwo7Ed9XNoK1lWYpFAgvA7JhTvbDD48NErplSLfiqBGxMpsMA5KBA-ev0QRIF2CGGZ9NFrjKVC_yyx1syJlIRlKCVAE0QYUQRT8hcI6aMCkmomtWHKWVb9oy3Ubr-51g4rsELVAPTUiY9eSV5QEhOFUkyp2gheZhutxN9BQILkB1HxBiWQ4pKq2jjj8BlDoZDaFlA1MfROhCoxRYniehYJUFCADIgsswykQtq-IInWryeLYs7eQcjK_3qqFHCi2wlLgClcL8xrrHCCcryNAJVMlkXBhYLER2lCcMa4VCSWKOZUd5amJYu1no4f_X-p5bDCx79TQgEVAlLyiXJceIPpybDWu1F-BfVMKpxBoDel9AbTc0XP7tsbTH3EOIox44zEmO5UQNbrkUAhIMaq2hLFbo-YnKptWNx3xrYyWXSGCUg9JD3oKlKkjx4DH01_Tu_vnn_4KLv00Sv1ghDdyW0ecUpitF8wuYf-8oJQABV834Bq9xK95KUERBNvMM04TQ4CWfy1vHv3pzv3739HUewFs_ABv8GMUNg19RIidn_FRdHjPuJ-fXxFUby3LwqsNl4QekHgDUMvuHpczX_Mf-rTTh93lET10f79EPoyEvj6r-r3bL6aEkwhVj3sm5rX9WK20a_m49YngZnUZ6tsy9_pUYJoNP_fotF7s91i6mExX03SlDCYMEy3kshjzS_UNKkvtGHchT8Wtu6fFaFd7Yfpj-Wzte8KdfRd4XvDbeyX3ewvh01B1MaqqcEXTEu44yVL5GMx1_dVimOY5wU12nKti8bNfhH5T-DMPo58_XBviIQv0Nltvn5xab84teWWxTZljTl078o0BUH-qi4Ri42GjDOuzJIdX4Y8Lyh82nwZcqYEpzPKPywjmi6e5jbt-5yo0AbOSqunNORwVGNTtBG3XstlDXjOErsj9EQ7jQvCMM0sY6lB5xq1RDojqnHzFl4sXh5a51oHt03m54sdWz2G04VlSg_Yvvs1Zh_NA-QrSK26Fepam5ZE1x21gPG4eFgsBc8Ezu3usEdUhZlXoIJcg24KdA08FsAmYWjpWaMPS9uYl9ZFWk4X1blb2FT_v8RMWZQrzDzddTizKK3DmTPMj_GOk9bhzNLfBhdg61Fjj4V0OHddYCHhCZjkwmblSORMS0tSQEW0XLYs81nOVy-2kWjsgSclhZDnEWGt3OYgEx7yWqMJ1yw0btwfbR-Z0DlLQTxttdOdl_rOmYQSlrUFjZLWuGjhprhqersJcYmtM-ISO_rdI1b1vcByurj_VMBMq9G24liYtqhxPs93tuG8VMUJS1zVoKPzloDhEKslzCH963rk7P6Au6YPUk23tnynWiuQaomlhK6yThTmVeVDWJdCy0woPeC2FPyJrxVmCRaJ6XzjR5lQk41woQRmIc_zqu8OstQHg2hQmxq4f8e0xApMSutdyUeawAX_aBmcr474y5kcKuQJ_ICOu6p7nGunncW6zOTt6HZ74keZCq2yUfNNZxY8ze--xTnb3X6HuP0t_jW1pxynedQpXvFNytBK10_kzsb8-Hcz4HOyRreBbnL3P5G_dXOm305wXPmRJWU5M_85RVJO5ubdeHbou9LvdupoJK_mLfwFkii3q9oOfb30XBOlE4SS_1g-r0qmSO6oA7njqEU8W7uXUEXYqcNxz_jOOG3vPyGuPrjcs-yo8mSY2UlTFVc8Z2guUlkfX_slNGDfKxJUsPlsr-LR3OHRLW9Wrq9HY0jtIFuPE6VEDTeSeONeMlpZQcxZTCg8MwHVJ5UkxFK597UxmzybbjhoW4eNnEs3Wjzov8M2mpWU7xGNs8u8RgZs7HuXHVuC31mJdVRw2-XRNnpOAdR1nDcLpC1XYZGBqk-E-09TXmgoXLXvg-PqVJcrUaxgQSIbl-H1DM3zdsedlUqeQ9_-TXTwmOmdpmonuetZVNPsx3U4-20-eWbV2fFZw1VPdtZbXcXJAwdrjXarIOYJrAAnTUZVXz65Ra914pjT1hOU2e6cv8O46-tFU1HH2dwsDbvZ-Ak63kGdRUfznFz1yNPk_ZwSgIHgmwTMH5vanwdNi-Xcsoc4MdEf-YYjenzPdcNavhGWNSW6SXKrPtHGbctyzjen5ocae6phDSlXebH9fdWwkawnhaNe1vh4aMz8XZXl5MjbXQNLLDClQOvUqbM2zTGCVIRV3l2rbXuhrbmnqzJg_VSHpXKM2mKySrXmTK0wy8BQxKrC2FiLsF4ujnvJvCIrqN4TGT5kPPHD1wzTF5D2d442br8OpCHvsbwACDGlDr8erVpDquvlVkLb3Uskgfs0hVjZDS0FyKgUmeFSWnBeLMgbWBfohcBHW8ARDPaYxgov8JaXrnB7gJyL7Zpyx2RCXmxdDtnR6hcQJCUnjsn5qutP01uTbnm1jbnKsoZ8oF3_bQNTiEmOm4ykek-D4qLoSd67HB8h-mpGl-Oq_fCAcf8k8zfe5uyfEtWGD9PVcoepx0XhDSbXY28w8XcvAyd-yRLQJ3LiC0hBAIvBV9z3gvFuPno0g8nBSv3zMS_WSpTV885wA_EbiBq41-vlBdcN5erOEAfNkOJSwuHnpybKJCoV-DFnUlVeuPGCce2EozeajYFTwt5A-Lt3YX6KCYXE_yBq48MnUb7O83zt0-tSgo_e9awkgE_YO4-rA1r3Uj8eHd5djb1gNr70hlN_QZi-gP3w1y8fqtqJDsXdk6vKz4jBR-st6kVyO0huBjf4Am4vRzf9YHR9fTO62Nzi9GZ0jaM0HV8NAzyENLm8Ggyj4eUwCSIYDy_IbdAPBv1xMOyP-9eXo15yFQ8vo5s-Ht9cj-PR0LvqQ44J7elA6HGRXRApS7gdXfVvri6qp7OyegAcBHXAFIJHFHIvCOoHYbvYCLzh9ELcVi93ozKT3lWfEqnkl11FFIXbWnwwqVwqtdu0q33OfG_U_0_FjXZhKeht8xVyRtSmjHox1xtgtw-q8ReC_wmx8oJZ5Qsd55U7_hUAAP__lkWAjA">