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

    <tr>
        <th>Summary</th>
        <td>
            Crash when building project
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Clang 16 crashes when building project: https://gitlab.com/gherman/dime:
```
Stack dump:
0.      Program arguments: /usr/bin/clang++ -I/home/mistar/documents/development/repos/dime/include/dime/.. -g -std=c++20 -emit-llvm -Xclang -disable-llvm-passes -MD -MT test/CMakeFiles/test_basic.dir/basic.cpp.o -MF CMakeFiles/test_basic.dir/basic.cpp.o.d -o CMakeFiles/test_basic.dir/basic.cpp.o -c /home/mistar/documents/development/repos/dime/test/basic.cpp
1.      /home/mistar/documents/development/repos/dime/include/dime/../dime/constant.hpp:53:49: current parser token ';'
2.      /home/mistar/documents/development/repos/dime/include/dime/../dime/constant.hpp:9:1: parsing namespace 'dime'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  libLLVM-16.so 0x00007f0290c1f503 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 67
1  libLLVM-16.so      0x00007f0290c1c7bf llvm::sys::RunSignalHandlers() + 47
2  libLLVM-16.so      0x00007f0290b08849
3  libc.so.6 0x00007f028f85c710
4  libclang-cpp.so.16 0x00007f0298c01e95 clang::desugarForDiagnostic(clang::ASTContext&, clang::QualType, bool&) + 245
5  libclang-cpp.so.16 0x00007f0298c02af9
6  libclang-cpp.so.16 0x00007f0298c03292 clang::FormatASTNodeDiagnosticArgument(clang::DiagnosticsEngine::ArgumentKind, long, llvm::StringRef, llvm::StringRef, llvm::ArrayRef<std::pair<clang::DiagnosticsEngine::ArgumentKind, long>>, llvm::SmallVectorImpl<char>&, void*, llvm::ArrayRef<long>) + 290
7 libclang-cpp.so.16 0x00007f02989d6cf1 clang::Diagnostic::FormatDiagnostic(char const*, char const*, llvm::SmallVectorImpl<char>&) const + 2401
8  libclang-cpp.so.16 0x00007f029a33d742 clang::TextDiagnosticPrinter::HandleDiagnostic(clang::DiagnosticsEngine::Level, clang::Diagnostic const&) + 130
9  libclang-cpp.so.16 0x00007f02989d0164 clang::DiagnosticIDs::ProcessDiag(clang::DiagnosticsEngine&) const + 164
10 libclang-cpp.so.16 0x00007f02989d0428 clang::DiagnosticsEngine::EmitCurrentDiagnostic(bool) + 120
11 libclang-cpp.so.16 0x00007f02992716db clang::Sema::EmitCurrentDiagnostic(unsigned int) + 315
12 libclang-cpp.so.16 0x00007f0299279613 clang::Sema::SemaDiagnosticBuilder::~SemaDiagnosticBuilder() + 83
13 libclang-cpp.so.16 0x00007f0299887588 clang::Sema::FindInstantiatedDecl(clang::SourceLocation, clang::NamedDecl*, clang::MultiLevelTemplateArgumentList const&, bool) + 2232
14 libclang-cpp.so.16 0x00007f029986ee82
15 libclang-cpp.so.16 0x00007f0299871664
16 libclang-cpp.so.16 0x00007f029981f31a
17 libclang-cpp.so.16 0x00007f029986b345
18 libclang-cpp.so.16 0x00007f029986d7f9
19 libclang-cpp.so.16 0x00007f029986fa87
20 libclang-cpp.so.16 0x00007f0299871664
21 libclang-cpp.so.16 0x00007f029986e188
22 libclang-cpp.so.16 0x00007f029987267e
23 libclang-cpp.so.16 0x00007f029981f31a
24 libclang-cpp.so.16 0x00007f029aa13e53
25 libclang-cpp.so.16 0x00007f029ab9f108
26 libclang-cpp.so.16 0x00007f029978864d clang::Sema::DeclareImplicitDeductionGuides(clang::TemplateDecl*, clang::SourceLocation) + 973
27 libclang-cpp.so.16 0x00007f02996449c2
28 libclang-cpp.so.16 0x00007f0299644abd clang::Sema::LookupQualifiedName(clang::LookupResult&, clang::DeclContext*, bool) + 109
29 libclang-cpp.so.16 0x00007f02996070ef clang::Sema::DeduceTemplateSpecializationFromInitializer(clang::TypeSourceInfo*, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>) + 415
30 libclang-cpp.so.16 0x00007f029978e097 clang::Sema::CheckTemplateArgument(clang::NonTypeTemplateParmDecl*, clang::QualType, clang::Expr*, clang::TemplateArgument&, clang::TemplateArgument&, clang::Sema::CheckTemplateArgumentKind) + 3527
31 libclang-cpp.so.16 0x00007f0299793003 clang::Sema::CheckTemplateArgument(clang::NamedDecl*, clang::TemplateArgumentLoc&, clang::NamedDecl*, clang::SourceLocation, clang::SourceLocation, unsigned int, llvm::SmallVectorImpl<clang::TemplateArgument>&, llvm::SmallVectorImpl<clang::TemplateArgument>&, clang::Sema::CheckTemplateArgumentKind) + 579
32 libclang-cpp.so.16 0x00007f02998117e6
33 libclang-cpp.so.16 0x00007f0299849917
34 libclang-cpp.so.16 0x00007f029984a739
35 libclang-cpp.so.16 0x00007f0299246f51 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 113
36 libclang-cpp.so.16 0x00007f0299812343 clang::Sema::DeduceTemplateArguments(clang::ClassTemplatePartialSpecializationDecl*, clang::TemplateArgumentList const&, clang::sema::TemplateDeductionInfo&) + 963
37 libclang-cpp.so.16 0x00007f029ab9c161
38 libclang-cpp.so.16 0x00007f02998eb083
39 libclang-cpp.so.16 0x00007f0299246f51 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 113
40 libclang-cpp.so.16 0x00007f02998cf67a clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) + 2218
41 libclang-cpp.so.16 0x00007f029aa2e5c1
42 libclang-cpp.so.16 0x00007f0299584e86 clang::Sema::BuildCXXTypeConstructExpr(clang::TypeSourceInfo*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, bool) + 2006
43 libclang-cpp.so.16 0x00007f0299584fde clang::Sema::ActOnCXXTypeConstructExpr(clang::OpaquePtr<clang::QualType>, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, bool) + 126
44 libclang-cpp.so.16 0x00007f0298b45d08 clang::Parser::ParseCXXTypeConstructExpression(clang::DeclSpec const&) + 1352
45 libclang-cpp.so.16 0x00007f0298b35803 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) + 6659
46 libclang-cpp.so.16 0x00007f0298b35c7d clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) + 7805
47 libclang-cpp.so.16 0x00007f029aa0b8bd
48 libclang-cpp.so.16 0x00007f029aa0b966
49 libclang-cpp.so.16 0x00007f0298afa4d1 clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) + 481
50 libclang-cpp.so.16 0x00007f0298b924de clang::Parser::ParseSingleDeclarationAfterTemplate(clang::DeclaratorContext, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) + 1390
51 libclang-cpp.so.16 0x00007f0298b93ce1 clang::Parser::ParseTemplateDeclarationOrSpecialization(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) + 993
52 libclang-cpp.so.16 0x00007f0298b93efb clang::Parser::ParseDeclarationStartingWithTemplate(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) + 171
53 libclang-cpp.so.16 0x00007f0298b0a51d clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) + 589
54 libclang-cpp.so.16 0x00007f0298bb8684 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) + 996
55 libclang-cpp.so.16 0x00007f0298b19c8e clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) + 478
56 libclang-cpp.so.16 0x00007f0298b24f0a clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) + 2474
57 libclang-cpp.so.16 0x00007f0298b0a69c clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) + 972
58 libclang-cpp.so.16 0x00007f0298bb8684 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) + 996
59 libclang-cpp.so.16 0x00007f0298bb9073 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) + 515
60 libclang-cpp.so.16 0x00007f0298aecf49 clang::ParseAST(clang::Sema&, bool, bool) + 601
61 libclang-cpp.so.16 0x00007f029a31e7c9 clang::FrontendAction::Execute() + 393
62 libclang-cpp.so.16 0x00007f029a2c0d2f clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 399
63 libclang-cpp.so.16 0x00007f029a37bf02 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 450
64 clang++            0x0000561290318a6f cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 3839
65 clang++            0x000056129031cb10
66 libclang-cpp.so.16 0x00007f0299fec779
67 libLLVM-16.so 0x00007f0290b08c87 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) + 39
68 libclang-cpp.so.16 0x00007f0299ff30c4
69 libclang-cpp.so.16 0x00007f029a011431 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const + 161
70 libclang-cpp.so.16 0x00007f029a0117ed clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const + 253
71 libclang-cpp.so.16 0x00007f029a0155dc clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) + 412
72 clang++            0x000056129031f99f clang_main(int, char**) + 10223
73 libc.so.6          0x00007f028f845cd0
74 libc.so.6 0x00007f028f845d8a __libc_start_main + 138
75 clang++ 0x0000561290310ed5 _start + 37
clang-16: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 16.0.6
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
```

Seems frontend problem.
Preprocessed sources and run scripts for both full and minimal crashing example:
[minimal-crash.tar.gz](https://github.com/llvm/llvm-project/files/13057771/minimal-crash.tar.gz)
[full-crash.tar.gz](https://github.com/llvm/llvm-project/files/13057774/full-crash.tar.gz)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcW0tz3LaT_zTUBTVTBPg-6DAaaRJlLdsrqbLZvahAsDmDNUkwAClLOexn3wIJzpDzwjixU__8Xa6EQzbQD3T_uhuAqVJ8XQFcO8GNE9xe0bbZCHldctVQKcVVKrL362VBqzXCIWKSqg0o9HUDFUpbXmS8WqNaiv8F1jjeAm2aplaOt3DIyiGrNW8Kms6ZKPWPDciSVg5ZZbwETePeOu7CCV3zt_v51FD2BWVtWW8p3LnjJp-lWEtaIirXbQlVo5kgh6xaJR2ySrmel2kxHXLjkBs0u3fIaiNKcMiqV0YzFswMJqsMXqEQtf7pkJWEWqhBNLLiFSvaDHYv5nM0W6OZajLHu2U9D-KiGZS8mRXFa4lmv3Xs0SzjiqYFdG9nNVUKFJo93KLZwzNqQGluywf6BVa8AM1Sv3tJqeJsnvFOme6Z1fVcoNnDCl1MPc_QTFxOjmYM_RUjGWW2M_arhfVqfWfb756ZqFRDq2a-qbWDBJ7jLfxE-wJrpYSqQTWVCiRqxBeokEMix7vR_-1kI3-nbFoqrCXTEukwqWgJqqYMtFj9mGjf6dFX3mxE2yD1Xqai6Mcgh8RQqVYCehct2tBXQJ139UT8D5CIV_qbRJ8Xzz8jIZGCBjUbQFC9cikqrQ56pRI5ofvhw68PL0___XDz6cP9_9w9vughTuiiRqBa8KrRD7xxSLKLQIQKnupxMxzOlUDum-u6bpS7JHEZzgPX6wTSA7yFelf9w2fJq6bT7VlSBg6Jd0SSfn0RqpFAS4eEDlkirg2eIB28obEL3ufb_ZkyZ1GaH2P-2FZPfF3R4mdaZQVI5ZB4mN8f_ME6f-rGsZ_01F5HzeZKzMMRUZzHAYuwwS-_J9JQMNNRpsQcj6mTmLkYkgD1YNWJmoFq11SuhLzldF0J1XDmkHhEsXh6XoqqgbfGGGv07T9bWjy_16Bfp0IUHUWvJ_GDXqrgAqkIzY2i4QXUHknIWIqVkCVtFk_PH0UGOzUWBq6n6uy-q7tqzSswWhri_-BVprUphIbz5Wh1nxrJq_Uj5Be9XkhJ3_Vbb9kBt35XUy4db_knhfHu9N8p75IWxa_AGiHvy7rQc2-o7Mi6lXoVPHPI4qRkw7zDkiXGkSLbGiRZyHKMjmoyXpOpT22oRB1QGZkOXlyqWdKPMn7m4l7q2OY61POyyJ-4zjO8jYTsQANk_6mP3VNRcWLlPmgE3wuSHemg7DZIsGcsnljdPslcHPrH572_3aKeYKCU_mITd9-OOPQN8LkXiOKT-LgoE2vclbxZ9rlxYsceKowJiDEBxha-CYlwmKVjvk9Q0vOs2qqrMbMxxHvYQBMmdpZJiL3jLPXTjteNrkgH3_m_4992WSD2jASeTYI4joI4Pi7BilfZfZ_4OW0guwVWTNf9SbSSwQfBaMNFteeYH2k5jFnsfXpoi4Z3zvwMZV3QBgZM-sBVM_LjAfcNghCPGMV8q2IhQDxQB1bqCIdbDw2t1Dj3MDXUNjRL4jD1hmyFYzt1Fg3ZCid26pzGQ8q3RdZES2KNhzgEHMeG2urKcUTCCAy13e1GFiS2taQUexAYlya2taRpkmN3kNu6llEch352PAC081IJOkVwxptbyFqmHf2nlme6B4knUN878nGH3w-U3p-TaFDK6kSh7yfMuDOxOlHo-zQ9odQHIb60tS6teM4h01E61aQneATVFkdqMq3ftmBb7Ecodo3rEqvrhm7kQn7K8FnLYDDpUw2M04L_0RlvJUV5X_Gme9Oh3ngV3mvobX1f5eJwHXYDs7uq4c37BGuOEXY8daU0odyVEg9to3viUdkzmuXurZZaiF0R5A_JwbNGaxSDm0THDbTcAPuyj51TU3wUlbbGQPSZyvK4b46r7COyT98e8ty3nJ3CokZflppcGgyNpGfFqyjxXPdEMr3EXqfT1UGSEuxQqzPjz6bJw4_TosJSt54x_LZQ_8sT_LnFC6KhvbRnD4wjCA21PXv4SYIHv7BXAj6NvEESayVA_DAP8HGNZVv9F282T22ec8bB7AA81f0OwNk13S1B3lZdEnmRHVroJgr1pdsIJjA2mcG7oBghnn_C7ac4uthuME6EXRZUqRFMaNybQu6FUbFfuo1o1VakXZ40ybQH6m3PkoSD5racSNOE4dB0Z569sILUHepiz5qd_sXcwLfXdiwPI3pc4Ef4veUSlqKsC2hAg30X_ZfX8idyxAgMRnMP-wpHCTWBaV2gzy9DbY9NzebbkJ5SAgEzC-9bsSWIfYjD49J0rdPyt9-0VEvturJlTZ_5vqWsOLfQFxcIlhknjZDrGrD0rWAZxH6ewXH1F6z5VNnV_1TT31v43OxtL22d4gLpf6w9MBnMYcsGceoHmTtpeD932-qj52MGAaU6vvFeKayB8si-S2BKdd-Wb-LUC-Jp1XIoD1UnZRgTa7ru9xCAvYlGe6fLU3w6fanSSNbA4dBtlIZhYDKpb0tMWjMWZf8UzaLYNZW5b0081E3jNDPUtsSjqZNw8E9b4olpTv0Mn7Va35Z2gbDIG5DDbyEXVbZoGsnTttnvT3dE5-3VPWdDltZwdyqnj0ethHyk1Rp02zQyqh8blA6su35pQvwpTB1I9cSrdXGg_SDqKXW3zep3UplXaz354-L-_lPaHQ4f1sh7YHXUcpOV2qdYMAZKdVVYznWeHIBl2EMPbEkyThOPwXlHGu9ZGJN-ktPS79us-sMUTxJTCAW2dK_1hjy9NICeGl3wVmtd0P05T_pxix0NwWPL8XHq0gCfh9qRzn-3fnaKfR5bAAlik24Ce2JP4zD2z9rg7q0BWdHipC2-hy4jjNBLOlImSUwWCOxVAU5YfB4N76sK5Mfh4H1yAj3q8qfl1XiS6fi-rl0iv3W8uwn87e9GfFfXuKEFrRhkt1Dwkms0l5R9ATkqpvzI9AWBveIgfu7Ss1YbG-w7BsHx_V3iR2a3PbCeeaYuDRP2bxjCSWRq4cBWKf2jQthayKVp4kbnC_tnUXeHYIcHayc6Lk34kxRt3TVOZ3fnHkTWFrrNF3KofbchFQyb0KG1LKPAcj850GLx9Ly3e6AZj0_spg1aOJyih9bm3sMQsQnHldReXWWLbsNkaBSBtV2q3m4VDyVCaCsRKGFuRiZHD0tR1rwA2R93MpgwMXwn-u7JtLOtlwxXTWxZm3pRmrtkuufeMdxJ87qNp_ictKOKOzAF4vYwv780OPrTixCEmCSuh2Ma5ogx_FJSXk2yyLhDn1ylMM35_vWK7XUQY4h42HQNg8tEYelw1Si07nrmwKJhezmMztzhSt2YxdFo_2Epqdo8AhOvIN8HvOy3ydrqieZQvE_McNFG3VZV6zZknnsuM1khtIEIdTH2vUkRn0n-um2LOz-gB1GxFGVJdaMcnx6oCU61OWdIF3vH8uMbHibEIxuoaK0iyL5Vq19Eqk6r9ItIDzagz5177F-bOqxuzlrBXJc6YQsynFZHVrhzcRBk7BTf29HzBByOoMIpG_6NthjOOE3Gj8hlgZ8niUHjAYUGCTa03yNe7A6YCRls640uLe7NbG4v-gHLhktn_qkrjn6QxRS9vOjPL0r3g50UpuE2xWc0xbCp_C5kAeqH9mhgzqb6dceh4y0QSKmr8UU_DcpN_kDMWDOnvICsuySL4I1rR85AN_wabFoFaPaKGoEUAOKjtJCMOKFXkIqLCuFw7s5NofJM5Rq6C-xvcfgS-rOazQpetW-zddUako0EmqFSZFB0t3qF4m_9py7DFAVkt1weXEs_dsnd3PoFKNVOx1qKtIBy3n_8LKHuL5JBhlRXNiqkTSDbCikmed0olAuJUtFsUN4WRfe15BUvadFf1OfVGsEbLetidN0-uDE0s45m3lA5X__hBLcOiQ9u72_a4fZ-Fxn9_2bDfX-yys01c-y5QRRFuLtUfWT2YQWc4EaL-gNY-_rVwdQkucquvSzxEnoF1zhMopjEQYSvNtcBBDiIM5oxj0TUpyT0sQ-Bl8ehF2RJeMWviUs87BIXJy4J8DxJ08hL_ZRkCfPCDDu-CyXlxVxLNhdyfcWVauE6TKIAXxU0hUJ1_6yCkAq-ou6jQ4gT3F7J606btF0rx3cLrhq1m6XhTQHXXQY-_g8trlpZXH-zwTr-2mKdfP8fAAD__1YRTLQ">