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

    <tr>
        <th>Summary</th>
        <td>
            [crash] Failed building MachOObject on llvm15.x w/ clang-14
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

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

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

<pre>
    Building llvm15.x for the purposes of compiling zig master, following these directions: https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#posix

Upon `ninja install` received the following crash one time. Backtrace:

    [1534/4864] Building CXX object lib/ObjCopy/CMakeFiles/LLVMObjCopy.dir/MachO/MachOObject.cpp.o
    FAILED: lib/ObjCopy/CMakeFiles/LLVMObjCopy.dir/MachO/MachOObject.cpp.o 
    /sbin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tsliwkan/opt/llvm-project-15/build-release/lib/ObjCopy -I/home/tsliwkan/opt/llvm-project-15/llvm/lib/ObjCopy -I/home/tsliwkan/opt/llvm-project-15/build-release/include -I/home/tsliwkan/opt/llvm-project-15/llvm/include -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 -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -fno-rtti -UNDEBUG -std=c++14 -MD -MT lib/ObjCopy/CMakeFiles/LLVMObjCopy.dir/MachO/MachOObject.cpp.o -MF lib/ObjCopy/CMakeFiles/LLVMObjCopy.dir/MachO/MachOObject.cpp.o.d -o lib/ObjCopy/CMakeFiles/LLVMObjCopy.dir/MachO/MachOObject.cpp.o -c /home/tsliwkan/opt/llvm-project-15/llvm/lib/ObjCopy/MachO/MachOObject.cpp

    PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.

    Stack dump:
    0.  Program arguments: /sbin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tsliwkan/opt/llvm-project-15/build-release/lib/ObjCopy -I/home/tsliwkan/opt/llvm-project-15/llvm/lib/ObjCopy -I/home/tsliwkan/opt/llvm-project-15/build-release/include -I/home/tsliwkan/opt/llvm-project-15/llvm/include -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 -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -fno-exceptions -fno-rtti -UNDEBUG -std=c++14 -MD -MT lib/ObjCopy/CMakeFiles/LLVMObjCopy.dir/MachO/MachOObject.cpp.o -MF lib/ObjCopy/CMakeFiles/LLVMObjCopy.dir/MachO/MachOObject.cpp.o.d -o lib/ObjCopy/CMakeFiles/LLVMObjCopy.dir/MachO/MachOObject.cpp.o -c /home/tsliwkan/opt/llvm-project-15/llvm/lib/ObjCopy/MachO/MachOObject.cpp
    1.  /sbin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.0/../../../../include/c++/12.2.0/bits/basic_string.h:3383:6: current parser token ';'
    2.  /sbin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.0/../../../../include/c++/12.2.0/bits/basic_string.h:53:1: parsing namespace 'std'
    3.  /sbin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.0/../../../../include/c++/12.2.0/bits/basic_string.h:56:1 <Spelling=/sbin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.0/../../../../include/c++/12.2.0/x86_64-pc-linux-gnu/bits/c++config.h:338:41>: parsing namespace 'std::__cxx11'
    4.  /sbin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.0/../../../../include/c++/12.2.0/bits/basic_string.h:85:5: parsing struct/union/class body 'std::basic_string'
     #0 0x00007fe5da4d545a (/usr/lib/libLLVM-14.so+0xcd545a)
     #1 0x00007fe5da4d2aef llvm::sys::RunSignalHandlers() (/usr/lib/libLLVM-14.so+0xcd2aef)
     #2 0x00007fe5da3bfb59 (/usr/lib/libLLVM-14.so+0xbbfb59)
     #3 0x00007fe5d9251a00 (/usr/lib/libc.so.6+0x38a00)
     #4 0x00007fe5e11db812 clang::Parser::ParseLexedPragmas(clang::Parser::ParsingClass&) (/usr/lib/libclang-cpp.so.14+0x7db812)
     #5 0x00007fe5e121a1ec clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, clang::SourceLocation, clang::ParsedAttributesWithRange&, unsigned int, clang::Decl*) (/usr/lib/libclang-cpp.so.14+0x81a1ec)
     #6 0x00007fe5e121bb14 clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::ParsedAttributesWithRange&) (/usr/lib/libclang-cpp.so.14+0x81bb14)
     #7 0x00007fe5e11ff657 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) (/usr/lib/libclang-cpp.so.14+0x7ff657)
     #8 0x00007fe5e128be29 clang::Parser::ParseSingleDeclarationAfterTemplate(clang::DeclaratorContext, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/usr/lib/libclang-cpp.so.14+0x88be29)
     #9 0x00007fe5e128cc9f clang::Parser::ParseTemplateDeclarationOrSpecialization(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/usr/lib/libclang-cpp.so.14+0x88cc9f)
    #10 0x00007fe5e128d1e6 clang::Parser::ParseDeclarationStartingWithTemplate(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/usr/lib/libclang-cpp.so.14+0x88d1e6)
    #11 0x00007fe5e1213dbc clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributesWithRange&, clang::SourceLocation*) (/usr/lib/libclang-cpp.so.14+0x813dbc)
    #12 0x00007fe5e128f20c clang::Parser::ParseExternalDeclaration(clang::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) (/usr/lib/libclang-cpp.so.14+0x88f20c)
    #13 0x00007fe5e120c459 clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) (/usr/lib/libclang-cpp.so.14+0x80c459)
    #14 0x00007fe5e120cfb4 clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) (/usr/lib/libclang-cpp.so.14+0x80cfb4)
    #15 0x00007fe5e1213e3f clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributesWithRange&, clang::SourceLocation*) (/usr/lib/libclang-cpp.so.14+0x813e3f)
    #16 0x00007fe5e128f20c clang::Parser::ParseExternalDeclaration(clang::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) (/usr/lib/libclang-cpp.so.14+0x88f20c)
    #17 0x00007fe5e120c459 clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) (/usr/lib/libclang-cpp.so.14+0x80c459)
    #18 0x00007fe5e120cfb4 clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) (/usr/lib/libclang-cpp.so.14+0x80cfb4)
    #19 0x00007fe5e1213e3f clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributesWithRange&, clang::SourceLocation*) (/usr/lib/libclang-cpp.so.14+0x813e3f)
    #20 0x00007fe5e128f20c clang::Parser::ParseExternalDeclaration(clang::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) (/usr/lib/libclang-cpp.so.14+0x88f20c)
    #21 0x00007fe5e128f9f6 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, bool) (/usr/lib/libclang-cpp.so.14+0x88f9f6)
    #22 0x00007fe5e11d9f18 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/libclang-cpp.so.14+0x7d9f18)
    #23 0x00007fe5e27b3919 clang::FrontendAction::Execute() (/usr/lib/libclang-cpp.so.14+0x1db3919)
    #24 0x00007fe5e2752e07 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/libclang-cpp.so.14+0x1d52e07)
    #25 0x00007fe5e280a7ca clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/libclang-cpp.so.14+0x1e0a7ca)
    #26 0x000055b80c3406f1 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/sbin/clang+++0x176f1)
    #27 0x000055b80c342337 (/sbin/clang+++0x19337)
    #28 0x00007fe5e24aa499 (/usr/lib/libclang-cpp.so.14+0x1aaa499)
    #29 0x00007fe5da3bfc27 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib/libLLVM-14.so+0xbbfc27)
    #30 0x00007fe5e24affff (/usr/lib/libclang-cpp.so.14+0x1aaffff)
    #31 0x00007fe5e24c5763 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/usr/lib/libclang-cpp.so.14+0x1ac5763)
    #32 0x00007fe5e24c5b39 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const (/usr/lib/libclang-cpp.so.14+0x1ac5b39)
    #33 0x00007fe5e24cde72 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/usr/lib/libclang-cpp.so.14+0x1acde72)
    #34 0x000055b80c33746a main (/sbin/clang+++0xe46a)
    #35 0x00007fe5d923c290 (/usr/lib/libc.so.6+0x23290)
    #36 0x00007fe5d923c34a __libc_start_main (/usr/lib/libc.so.6+0x2334a)
    #37 0x000055b80c338655 _start (/sbin/clang+++0xf655)
    clang-14: error: clang frontend command failed with exit code 139 (use -v to see invocation)
    clang version 14.0.6
    Target: x86_64-pc-linux-gnu
    Thread model: posix
    InstalledDir: /sbin
    clang-14: note: diagnostic msg: 
    ********************

    PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
    Preprocessed source(s) and associated run script(s) are located at:
    clang-14: note: diagnostic msg: /tmp/MachOObject-3c41de.cpp
    clang-14: note: diagnostic msg: /tmp/MachOObject-3c41de.sh
    clang-14: note: diagnostic msg: 

    ********************
    [1567/4864] Building CXX object lib/Analysis/CMakeFiles/LLVMAnalysis.dir/ScalarEvolution.cpp.o
    ninja: build stopped: subcommand failed.


[MachOObject-3c41de.sh.txt](https://github.com/llvm/llvm-project/files/9944450/MachOObject-3c41de.sh.txt)
[MachOObject-3c41de.cpp.txt](https://github.com/llvm/llvm-project/files/9944451/MachOObject-3c41de.cpp.txt)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztW1t32roS_jXkRcssX7k85IEQaDmHlK5Ad_vGkm0ZtGtsb0lOyP71e0bm4guhIc1pe_ZqFjG2LqNvPmlmJFn4afh0fZPzOOTJisTxw8by2lsSpYKoNSNZLrJUMknSiATpJuMxFvubr8iGSsVEyx5C2ThOHzEdakhGQi5YoHiayJYzIGulMrxp2WP4rLha534bRMEDiIlpsiru4PrIv3L4ep8-Gio1fARlTKd_3EEjRsz9oCg8NGgS4nMM2ZFIN4ZMcxGwlu0AVL5tmbctc1BcP2VpQlodM-HJn5TwRCoax_BMACHjDyzUSh4VCASVa5ImjCi-YW1yQ4OvSlAQ7gzKcgn8tbwby3NcAOz2Om7LuyUHGodfvpDU_xNYIIATSsz8P4dp9gR3wzv6lY15zCQ8oHK7rDawBil3NFjP9t8zLaIdZFk7PbY7Hkymo1uk9q1kk5JS9lj6PIGvHds38CHG7bvFaL5Yvh_Ml_eLxaTl3JqQuLwd3Xx6hzfvPnxazmef7ocjfFrOF7fD5XD2Yb4YfFgs7wbD-9n8mDGe3d8NmsnTyd3kmDoBCOt0A706VjLmj18pgkozBVccpUYmUtTAsDxIKcaKYDGjEqtUmLlUGKZ8r4w6IJ4EcR6yV0I51I4-ToZwTVJDsg1NFA8MnoAZ4sBHi4O8By65D2aqniALrJVJY83DkEHeZyZEKqDzQqqYgSO8lJYnq5yKkIUGfaA8pjsZCXuEQmA1WHQLtgDf0Hye5BKKZlTQDQMAkPooOEiVSoAFSHgOwEEYf-UUa264lJBsRJwBLTwBsDTmfzMBBTMWak0KwXEKxfCCEorh1-8Z6HqoMjQAVJ1DLt9kMQ-4MiJAp9YizVdrrJQ-MAHQ5CNXwdoIWUTzWBXCk5RtA5YpQz1lTCclxgMXCkAaoUpRixC6DNQ4kSPz1YqBSihfcOyNz4WygC6BNKn5R1Wh09ENgJ5Au6K7jgk5XSWpBE0l1IhRZhTlifaUoFPhMbEcVbT0PHPARD4UllZ0faHDrjQ8C6WAj0-7MtADIXTnjjvLJcbdLfwv3s5bGHfjNxPWDomRviG0gHy3qT_fQD0CfJyOBvMRkbm_4YpQ4ucrCCxZKhRR6bnAt2-2hAetXMpca0wgwJG9zWOAKsKSfwhGEHQzaEikAZNghmQfAIe6JpUyDTiYeEhEnhAZCJ6pdh38XIE4Euab7BDbMNlsg14iXYFdEypW-QZGsI7jvyPD78jwOzL8qpHhd2D4-YEB3afVLs-h2-1CRgdXCasAqB9ve51lxzWyAFYwSb41VkkOqZbdttvmvkbtsrNx9LxF35Ur-FwhFz6VPFgWo669Bn_tOD0HvjrouoNcCBhuBGxSgkGq9CvYfMvutpwbvB7A278KeA-hWwgdIeOKKgFnIjOIfYgbB3IZt_PL4Ea6LdJyhvOMxbhUBoP7ochOy9vh3ZUHpxTxwyiBqwtUj86yDTMEZ7BcBtutZVWod38V6nse8l9WAjJzPa_KE3CJxbxFSuKn4VNFrbKoim5QyjGJuTXhrxsxL6Ru6LkehfQeipXi4CHgit7IsNy2TAGxuQ100Zbdr8qzavJsyiK961JgkU-yuLnPkzlfJTR-DzO6GEKIbrP_wqZRaqNpu9K040e-9zJ5vi7akOeU5fVtz6KmeVpeAJLaHS3L6UGphii3JIpZVuj3LJsU00zNxkftuEr3U7Zl4UdBVxuKzJwpCp06xH5v2Z1n-dPVDQwUgNNyNdCuBtFA6lWQ2ha1WHAW6fDLlzu28ZkAjxDwiAc66Fcxz_X0fZru84bkpZm6iXCgYPD6uWLyM6wy7iGXaXWHJE8kjCKGqwlVq3rLgrhlDy4ipaf1bZDSqZHi-zC7OEsK9siOENxDLJMB0am4WWCY-i_MlC4hBLVCwTv9z4EIFwzmiTDfnSRRSsApStWsNQhwiVWCOgQHksZnZO8RDFOYfm_rrJ_vsIu6AlludEW3aklR1PG6Z1lAuDBVRyoPWtZM6gdw-noudyWn0OaR2ynHdi8b213NVYPQXnVs93wGQs9RMAePE5dpHUSwCtrz0mQWS6Xi2xq-nN-d20Ph94PJpJimNovV7ehk55aG6gs68pLxq5ls0N2v0R0E_egsI3tCSoTPCl-Ly8gTzvZbnP9sWlDjCi04azBrtIQW67zYrBUVCsYDuprXDcOfTQlq26DEqgUdJ_TPR-ISJf9b9etB-IyoS8MvKtlgwq4Njsg2zzMx2oJHgrnls4xcoFHJ2RQx4kKVNNqGSk5VJTNwvfNed5IkTHzYL1ug-eOcer6hcfwHuEDczBo-I6RaH70r6unmsDCquNkzE6rvt5IbCvcBC29ZzDcco4agwVc0lwvnBpqvBqlundTIPz9NK_P5hvZSz79MMwDd0Kw-K3eYcz5q_Ct8ASjZYKLz7_MF3d--4O19Qe9f6wv6v33Bbr-nPmn8__cFtlVXqR-dnwcv0mzKHlhc7HaUdZll9K-cfVQ1R4AF34k0z-5ZhLuihWLFmv8y_ACtgd-ubXT1I7DEOv7BfFHbH2IbWgHyCkBd3VYDUGWiZXd9p29VnOtY4NBPwoF-6VSkjbYsyPUa4iIEVqilNyC4VQiezczKlsVQHztjYoKnt5LiKNYBxA5Xha4a5gsdphVqBA2YlTmG3TNpN6BlmDtAR7QP6am9voY2FxqGxXTLDXj7wO95PjhGxzU7kUWCwFpuKG7Nl2LgQAj6pEf3MFhTsQ9pAz3awYYraZDwkPKwgrJ5DKBA1oUmG7i6NVy243S_IacPRRpyKgHLdil1-5ewRnWFhtR-fU88AMBHqoZ47uKe6RfHT_sg4Oz352nE4qcKtfuXtkuh6UXmCox9Te6Lt9sBRR1q5U0EEhDB30UEYIWGVKsqNfC6Hac8qkPBH_YOtRi6tOEIIH1DcZu293xFLPDcftWZooOd9erHS7TVijS0tevagke6VNv_pL58XlXIxc3Hiqonp5-TTRbDEDm8hcoox0jUnEqeZQdmpPsg9SqSQP8GSU6NpJB17ecA3ZbuKw7whOd7jtwfS9Il9KDmDXrcqkNzum6HEnSy570ag2INWV71FZoT2P1vv0JDt2U2RHXqohyXkuUSqy4l7gAuSxjPCYd6DeE1J-70Op5HCrHntY6gYEVawTRQ7AzI7nzRoEgk0S5s4zlz3YERhUAZkkeYZBK25WhUISOWozsxl4wYD3jOTjIGK7BjtK23RvYncMDFmqDmIXdBxYqhPyenXlIfi60FoyHZQOMxFi4dMsfsSXGoHFZqXCuzJ-OkykmqcP5Cjid-yEaudLUS4YPXf06fUBwsFoPhe7J4PyLj2XQ6-zz58I6MJ9PRnCxmOhkPCN2PPs7uF2hEx_qnThn2JBrSsycNDwUEIzH2CuRSVRH7QkrssdpkrcppG8MJXCtk1UM33y9Orl_XX2_Za1oK_qagA8H_Bb8pGMBK7UlyPA3ROBa1z9udi5oHFBZ0o4c0ztFG6r8o0L-OQKX02UQiVZplDF0uHm2tWmPlGOnu6t2cZLStYLLk3cJwuPgkbLRTpd93Xdczn-sz3cLe3k_DQE3fCof17FCsALli11an0-10bbPrXYXXTth3-vRKcRWza0CpD_Ni144L_-bve7gkm4C7OvwW5xHaPYzKq1zE168_Wuz1eo51tb6OOpT1I9Pvhf1OxEzm9ajbtaPIM1nfpIF5FVOfxRLxAtQrfm2btm1Zpmf1LNfx2l6fdSObdl2n22E2rEdcExapPG5jw-1UrK7Etcbg5ysJmTFMiuQxExwHbp2xvXyaq3UqrvcH86403msN9h8-WigF">