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

    <tr>
        <th>Summary</th>
        <td>
            crash on invalid involving concepts
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang:frontend,
            crash-on-invalid,
            concepts
      </td>
    </tr>

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

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

<pre>
    foo.cc:
```cpp
template <a> auto b() = delete;
decltype(b<0>()) x;
```

```
$ clang -xc++ -fsyntax-only -std=c++20 foo.cc
preprocessed.cc:1:11: error: unknown type name 'a'
    1 | template <a> auto b() = delete;
      | ^
preprocessed.cc:2:10: error: call to deleted function 'b'
    2 | decltype(b<0>()) x;
      |          ^~~~
preprocessed.cc:1:19: note: candidate function [with $0 = 0] has been explicitly deleted
    1 | template <a> auto b() = delete;
      |                   ^
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: ../../llvm/build/bin/clang -xc++ -fsyntax-only -std=c++20 preprocessed.cc
1.      preprocessed.cc:2:19: current parser token ';'
 #0 0x000055655bc57b08 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/local/google/home/kadircet/repos/llvm/llvm/lib/Support/Unix/Signals.inc:723:13
 #1 0x000055655bc556ce llvm::sys::RunSignalHandlers() /usr/local/google/home/kadircet/repos/llvm/llvm/lib/Support/Signals.cpp:106:18
 #2 0x000055655bbc67d6 HandleCrash /usr/local/google/home/kadircet/repos/llvm/llvm/lib/Support/CrashRecoveryContext.cpp:73:5
 #3 0x000055655bbc67d6 CrashRecoverySignalHandler(int) /usr/local/google/home/kadircet/repos/llvm/llvm/lib/Support/CrashRecoveryContext.cpp:390:51
 #4 0x00007fca1305a510 (/lib/x86_64-linux-gnu/libc.so.6+0x3c510)
 #5 0x000055655e4c9101 getConceptReference /usr/local/google/home/kadircet/repos/llvm/clang/include/clang/AST/TypeLoc.h:2203:74
 #6 0x000055655e4c9101 getConceptNameLoc /usr/local/google/home/kadircet/repos/llvm/clang/include/clang/AST/TypeLoc.h:2220:26
 #7 0x000055655e4c9101 clang::Sema::ActOnVariableDeclarator(clang::Scope*, clang::Declarator&, clang::DeclContext*, clang::TypeSourceInfo*, clang::LookupResult&, llvm::MutableArrayRef<clang::TemplateParameterList*>, bool&, llvm::ArrayRef<clang::BindingDecl*>) /usr/local/google/home/kadircet/repos/llvm/clang/lib/Sema/SemaDecl.cpp:7579:55
 #8 0x000055655e4c0b84 clang::Sema::HandleDeclarator(clang::Scope*, clang::Declarator&, llvm::MutableArrayRef<clang::TemplateParameterList*>) /usr/local/google/home/kadircet/repos/llvm/clang/lib/Sema/SemaDecl.cpp:0:11
 #9 0x000055655e4c015a clang::Sema::ActOnDeclarator(clang::Scope*, clang::Declarator&) /usr/local/google/home/kadircet/repos/llvm/clang/lib/Sema/SemaDecl.cpp:6145:15
#10 0x000055655e208c4c clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) /usr/local/google/home/kadircet/repos/llvm/clang/lib/Parse/ParseDecl.cpp:0:0
#11 0x000055655e206c2e clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) /usr/local/google/home/kadircet/repos/llvm/clang/lib/Parse/ParseDecl.cpp:2448:7
#12 0x000055655e191f29 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) /usr/local/google/home/kadircet/repos/llvm/clang/lib/Parse/Parser.cpp:0:10
#13 0x000055655e191782 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) /usr/local/google/home/kadircet/repos/llvm/clang/lib/Parse/Parser.cpp:1269:12
#14 0x000055655e1905e9 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /usr/local/google/home/kadircet/repos/llvm/clang/lib/Parse/Parser.cpp:0:14
#15 0x000055655e18e616 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) /usr/local/google/home/kadircet/repos/llvm/clang/lib/Parse/Parser.cpp:762:10
#16 0x000055655e189c8e clang::ParseAST(clang::Sema&, bool, bool) /usr/local/google/home/kadircet/repos/llvm/clang/lib/Parse/ParseAST.cpp:162:5
#17 0x000055655c8c38df clang::FrontendAction::Execute() /usr/local/google/home/kadircet/repos/llvm/clang/lib/Frontend/FrontendAction.cpp:1082:10
#18 0x000055655c830ced getPtr /usr/local/google/home/kadircet/repos/llvm/llvm/include/llvm/Support/Error.h:276:42
#19 0x000055655c830ced operator bool /usr/local/google/home/kadircet/repos/llvm/llvm/include/llvm/Support/Error.h:239:16
#20 0x000055655c830ced clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /usr/local/google/home/kadircet/repos/llvm/clang/lib/Frontend/CompilerInstance.cpp:1062:23
#21 0x000055655c9a7e3e clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /usr/local/google/home/kadircet/repos/llvm/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:280:25
#22 0x000055655955dcaf cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /usr/local/google/home/kadircet/repos/llvm/clang/tools/driver/cc1_main.cpp:232:15
#23 0x000055655955a58d ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) /usr/local/google/home/kadircet/repos/llvm/clang/tools/driver/driver.cpp:215:12
#24 0x000055655c670399 operator() /usr/local/google/home/kadircet/repos/llvm/clang/lib/Driver/Job.cpp:440:30
#25 0x000055655c670399 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::$_0>(long) /usr/local/google/home/kadircet/repos/llvm/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:12
#26 0x000055655bbc6516 operator() /usr/local/google/home/kadircet/repos/llvm/llvm/include/llvm/ADT/STLFunctionalExtras.h:0:12
#27 0x000055655bbc6516 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) /usr/local/google/home/kadircet/repos/llvm/llvm/lib/Support/CrashRecoveryContext.cpp:426:3
#28 0x000055655c66fc22 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const /usr/local/google/home/kadircet/repos/llvm/clang/lib/Driver/Job.cpp:440:7
#29 0x000055655c62a017 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const /usr/local/google/home/kadircet/repos/llvm/clang/lib/Driver/Compilation.cpp:199:15
#30 0x000055655c62a557 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const /usr/local/google/home/kadircet/repos/llvm/clang/lib/Driver/Compilation.cpp:253:13
#31 0x000055655c64bbb9 empty /usr/local/google/home/kadircet/repos/llvm/llvm/include/llvm/ADT/SmallVector.h:94:46
#32 0x000055655c64bbb9 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) /usr/local/google/home/kadircet/repos/llvm/clang/lib/Driver/Driver.cpp:1942:23
#33 0x0000556559559a8d clang_main(int, char**, llvm::ToolContext const&) /usr/local/google/home/kadircet/repos/llvm/clang/tools/driver/driver.cpp:391:21
#34 0x000055655956a587 main /usr/local/google/home/kadircet/repos/llvm/build/tools/clang/tools/driver/clang-driver.cpp:17:10
#35 0x00007fca130456ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#36 0x00007fca13045785 call_init ./csu/../csu/libc-start.c:128:20
#37 0x00007fca13045785 __libc_start_main ./csu/../csu/libc-start.c:347:5
#38 0x0000556559557ee1 _start (../../llvm/build/bin/clang+0x543fee1)
clang: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 19.0.0git (git@github.com:llvm/llvm-project.git a68d20e986053ec571223a9f3ead3e146a27dc82)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/google/home/kadircet/repos/llvm/build/bin
Build config: +assertions
clang: note: diagnostic msg:
********************

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

********************
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkWt1S6zgSfhpzoyJly_8XXISQzDDFDBRkZi9TsqwELY7klWQm3Myzb7X8bwLnnCEwW7UUB_vIcuvrr1utbktEa74TjF044aUTXp2RyjxKdfFEcq4oM2eZzF8utlLOKHX8ueNeOe7cidz6l5Zl3WLYviyIYcjxF8Txl4hURqLMwYmDU-T4VyhnBTPM8S_rF3JGC_NSMgcnmeMvXMdf1p2h_6Hr1o3U_PdoIw4QLYjYofMDdfClgy_R-Va_CEMO51IUL-hcm9zxr5qH2EWNPvb1UrFSScq0ZnmtpAf_4A9iSkkFN5V4EvJPgQAyEmTPkINj4uC4loEQQh5y4gX6YSKQ_YFXnXD5FiIMiNwRIkqKAhnZiMvRthLUcCkAWDYChq307yS8h9P9OOHyr7_-epesFBAJCWoBMpHzHDjoMYWXf3LziBwcuJYE1wmv0CPRKGNMIHYoC065KV5adU5I6-ufjui7m-X8YYl0le25QQRl1Q4pVkplgNlHY0oNPo9XDl7tuHmsshmVeweviuK5vZyXSv6bUePgFde6YtrBK0REjrigRZUzZB4ZooroR5QR-mQUoczBCzRkEmlZqboZ3iRaS8oJWFVVAmmqeGlmNeQHQ-gTyqt92c1Gd1ardafkTpE9ImpX7ZkwgB3NZg5e2T8N5qziRQ5XLhy8-sF5MzW_Hd9rxn_Dba1v0EopJgwqidJMISOfmPVUsFfnqw72XeQeXNd1wzAKw4yGceYmyCL3544_1y-6vrlTXBjLxbomNOk7KfLnRmqjGNk7OAJSuTDWTfCq0gqokJQUYFMpdwVz8OpR7uHSBj0Hr8AN9NjScOGZg1cPVQk-4uDV74IfoIHvBCn0jAvQOsY-6O33WnkTrcKIsmNa3VeiFvUzEXnBlG79--TAW8QQwCG0RPA36RHjEeKMRnEeoRrVwvry6SFZufeMymemXhZSGHYwDb4YCA17dP4xdKP3RzQ6OPk0D3gHtZ9CxA69HnfQ4I63lHi-G5LQc5G1cSP3kESbKDgvuKgO5ztR1Q_oTMtZ5OBL9-DT0HMhaHcywyEXLKCp53pox8xCCspKc8-2TDFB2Ud0t1ECAlwd0gYt84e1g1frl5LdSDp7hDmPXbBWHPQQo_ch_kb28PbXAcRgFxz1AONjAGsJdl4-sD2p7-bU3Io_iOIkK9gVowVRxEjwsGF3KmGdnUPoGTQPu0dHnjXe8_pFQP9gV4hrsZWvn99I-VSV90xXhWlE98Hl18oA1rlS5OWebR1_MZTcLKt3RJE9M0zdcG0BQHKwQJmUxSuBxyVdcpFzsQM92vc_NN1a-zXzDQxQX2CENiyEMSwu4SAyJBNLulkSHLdkHRs-asJT8PzpPLl1PtuRlE5J8kLyjrt_jKNP1y7yghAUDNtqwPdGWQTDbkIDOoR4Z7OQwX2LmUsx3xqmeh3mIp8bo3hWGUjtku-cz69GyFsXgCmMqBTavP_WSqp7InbsWvA6JJyQSDtOe504itvT6E1ojChm36TxJyWrckwUPGtiw0PJ6PHoVzPZxcDXvIzs8GN8v-5fh9MbSa3NXzvxP20JHAQJRLjeGKOMjHmpt8XpN41xq1ZNCXbFttfCMCUA7tQ438HtN3u8a-A5hbIAnvEth4TssyhUw5A3cGV_yl6c4O-NCCMSueC1x3w6h1OX_HIOPRyl9tLTGExodEP2vhMuD7XPDej8Guq-xMGCnplxGu4lLPKid5lZy_KGPbOizpiGlNyW5D8VuzNqnEN0wdVmF8sjMa1btn-VeVWw6z3UKA-GGHbqlfgoJXGEJ7MumpCS0uT1AmIz9GSqR61dnYC2189SYP6wbl3eqjDIJEaVAU2on-TboQYrBQuWyOc2PtRtywOjFXD-0dp9DLkdanBbj9oV8cmU_2SM3ncpy6HwujPqBKVwX2w1DX1VvFRKqrraiiPHnweDGJIeAyVLZtd_a-kvw-bb-BZ12LB7DNvA3Au5L3nB1LXQhgjKRgZvfGDkyxP_OPE0HLjEFFn_ZQdbTXsdR1kdTUnM_NGkbLTpBT53WVLyHhUnjrqtbms79VdvomoTpsQW9f3UxaOEKQ3DnJItotTb7AkXow-Gw5rtkag2O2-r4HEbXqBnyfPTqWukLKA5V_wZlvVVi7HVzMfj8gb7E81ImOSoJWjh1YwN9HvYk6L4g1Ej1fW-LI6qOalmQUaTiw-Klc_Rt75ptfXCcc6BRzkHjWLXT9MuXpw6yF61oH6RWYMoCMCz_D6s4vAYInCKAYHt1sdGWb-yT5v9Fn9Zd6GkKDJCnzZbMV7pG2bqabbwFnK_JyKfLi5H_dd-sIc2WcLoBIw9cASjuNg1-UPt3N0Lmw09HOyul-PPM6I53WjbvXGXUWdo2BhFuNHt44k4UoApwEL9c-gy75dzO4Fq57KvODjYNNtShQSbnOJ77auFYH61huVgfdMm9aRYHowi2i4JwdT7oumn5tCLTuh9fw-lOwEZHwPZm_3YN-p-w4FsWfEy8qf3fferP6MHGDKIwQI2zmqiaEvxqJb7v5s-XxD--g8ReJy_RZi4Xvwm_Xa5Jq9y49Ymo4xi8iJ0eOtD2Ttd56PS4fMYGqjW5lppOl6ox7uZQFUY_jBVv8hMv83TLzK74dqMeHpv4e8crCQcfMvui30_tY0X_kME43C4sQoEj3PZKMiyLEVsX5qXTwzKPak2GKcBzJK-iBjvnbag3mD4anA_SnGPZNxvecsXWv0zMq2rYfrnpcGkXvGn2W5KkqYmazP5Vh0bZudNkPwfyGX91LMZba9LMNYlImESI9DiI2DaEx0tmLcLC3hwPoLoxeNPBt12crNFHYQRJWizKXgGCxpRZgNpq2UezUCmrtoDJvpF56yEEUVpimbrevqSnTJxMFrRuw3ibtA4Ce0Bpw0X3EzHqW9B-LkVPrPHkHACXA80iY8JHWlyTImjwv0gHn0WGm8zpmEYM-ahWipkSt9z6MZu54eBv2XM6zb02xk5OOZlD-hsm2IY0WZubgkvWI7soSp24ODYOUOeD16dVJqh82dkJNKMIT4o4IfDoGemNJcCeenMnbk7bqHvuHECd3DYyZ8fOew0g94kSnLssjSJ3NBnNIw9jH2Sbn1Gcp95QURwnNMEd8OuidoxyDxRc86hOVU3OO9Q93tUjORoL3NWQO9San6oH9mvDUXB8itu6TnBtAGbWNmX0AARYst3texLojVTQJ2e2Kc965ZzshNSG07RXttY2vjIB34HJx2bA2rz9Xq--Bmtf16i1e3Nze2_rn_7Ca2ub5YPaH1rmy9__wndL-9u79cdhrtjB8wSDZHvzUNmXQfFkE1AWY6I6UR-W30wiNmXDl4NT4OdJ3mWxWTWHRf9qCD9-IP2OJVV2pOnZ_mFn6d-Ss7YhRdjN_TDOPLPHi-yNPTDkPlpnFEvjEie54SFGWU09jKSZmf8Ars4cGM39QI_ct1ZngV-6kVh5qcuy8LMCVy2J7yYgZ_OpNqd2XOFF2niRcFZQTJWaHtYF-NW_W33HRA7eAEPoJw6l-Kci2dS8MGD-siNhobw6kxd2FmdVTvtBG7BtdH9sIabgl3URxelQI0oG0-KZy52qBV2Vqni4u-flqwVe77A_w0AAP__Km-hCQ">