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

    <tr>
        <th>Summary</th>
        <td>
            Assertion failure "Assertion `isa<LabelDecl>(D) && "declaration not instantiated in this scope"' failed"
        </td>
    </tr>

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

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

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

<pre>
    https://godbolt.org/z/qGcnPe635

```
template <typename T>
void s() {
  if (Unknown tr) tr;
  switch (Unknown tr)
 tr;
}

void abc() {
  s<int>();
}
```

```
clang++: /root/llvm-project/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp:4558: llvm::PointerUnion<clang::Decl*, llvm::SmallVector<clang::ValueDecl*, 4>*>* clang::LocalInstantiationScope::findInstantiationOf(const clang::Decl*): Assertion `isa<LabelDecl>(D) && "declaration not instantiated in this scope"' failed.
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: /opt/compiler-explorer/clang-assertions-trunk/bin/clang++ -gdwarf-4 -g -o /app/output.s -fno-verbose-asm -c --gcc-toolchain=/opt/compiler-explorer/gcc-snapshot -fcolor-diagnostics -fno-crash-diagnostics -std=c++20 <source>
1.      <eof> parser at end of file
2.      <source>:2:6: instantiating function definition 's<int>'
 #0 0x0000000003fa47b8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3fa47b8)
 #1 0x0000000003fa2444 llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3fa2444)
 #2 0x0000000003ee7078 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x000072d9b1242520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x000072d9b12969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x000072d9b1242476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x000072d9b12287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x000072d9b122871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x000072d9b1239e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x00000000071edce5 clang::LocalInstantiationScope::findInstantiationOf(clang::Decl const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x71edce5)
#10 0x00000000072974f6 clang::Sema::FindInstantiatedDecl(clang::SourceLocation, clang::NamedDecl*, clang::MultiLevelTemplateArgumentList const&, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x72974f6)
#11 0x00000000071dbd71 (anonymous namespace)::TemplateInstantiator::TransformDecl(clang::SourceLocation, clang::Decl*) SemaTemplateInstantiate.cpp:0:0
#12 0x0000000007223550 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDeclRefExpr(clang::DeclRefExpr*) SemaTemplateInstantiate.cpp:0:0
#13 0x0000000007223a3b (anonymous namespace)::TemplateInstantiator::TransformDeclRefExpr(clang::DeclRefExpr*) SemaTemplateInstantiate.cpp:0:0
#14 0x00
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy8V11v47gV_TX0CyGDJvX54AeNE7cF0u5gM7uvA4q6ktlQpEpSmaS_viAlr2zPYAG3mQZKYvleHp77ocsj7pzsNcAeZZ9Q9rDhkz8Zuz-ZF5B605j2fX_yfnSI1YgeET32pm2M8ltje0SP_0b0-K-_CP0ZcpYhUocrJ8tFag_DqLgHjNjBv4-g-QD4C2KPiNSvRrbYIVoiWmFUfEKkxlh2GNHyN_2izTeNvQ02bxGbre6b9OL0nUewnZ1Q8TDTiPC8ETcbOMQOUvtAIRquVl0wv7kViuse0U_hYjVG9GiN8YgelXodktGaf4I43yJ69MYoh-hxWXZUskH0-AwDX_59WRLzN-08115yD1sxjojVaZaVYYuIxGrE6s9Gag_2Ny2NRuwwY0bLAwiFaI3o4cL9eeBK_Q7CG3vt_TtXE1wsSWMS6vkvvnB8MoKrlZk0-lmYEWZjJ3V7ZfulQ7QURjuPf0StCsHUzoENzhjlRDqO2OGJN6CiVyzFQywSzRHNMaK0BaG4jfhYG4_lmqcWS439STrsIitKES1wx6WCdotI_fnpsX5-xG5qBukxx83UYwujsR57g2-aWfrT1GyFGdba3VRUOjdBqCXmOmwt1NQC9ifAwnJ3wg0XL95yASGlo4XRGgHOQYudmez8dVjJnTNi5m8njZ2wcvSB77Pn4gW30xCqj0hNtohUn63pLR8wt_00gPZu6TozBk7CDKNUYBN4G5WxYM-tlvBzol3i7aRfED02Uq-dGBoYJ337jdsuSXHS48QEXD6OAX3y4-S3DiedNskr2MY4SLgbcCJwkvRCJKGzxYlLjdjDn_IJzk7z0Z2Mx0knjDI2aSXvtXFeimWPmMPrr51vEXsQM1dKwuhYMhnHxi6kB7EDmA6xRzxy68Bi7jHoFpsOd1IBIjVd3NalrKaI1XlI5NpNUve4m7SIjdZCJ7Wc25QWl5OiCLMDUUYweSPnH9bxtGjKi0fPvbvlkbVS-1jYL3NrlKuT5d--Guct8CH2-wGHXWL3lx9UYUQ_kbeF3jIfEWW7G_I0TdMfkT8o4Hoaf9HPstdcIVpOOh4SLVYmbPEzqAYyK1V6RRWgIEWJD6FXfgVhXsG-z9z-ynWrwo7lksMrn4PRHt78MlhJ_J3x2YJf0LZqdjSlWWi0GNQ8qt_K_GueJkrq6S3p9TQbxNaZbR4pxyUr4fQasMqrTuDRnyzw9uuLVOo-9Lh-Rc9u6aZFjnsXU3Av7bTIV-D8GpiWRccwb8KsvAs2Llxhi-9gd83dgLtmBSyvAVkFVX4fYFyyAlaXDVbsoBWQ_a9H4PXhh-OROB-BH_28LITncMKTfTWXCloVaZdfhhOVR_x0vOIO7XxOX5J_jhMzJCBQCfPpwvgPPpzX1Demv0_Kyyd4BXUWN_VyeD3JoA3mdMSB1xijfkZa5sDXtOyuq9w2bbELm3Jt9PtgJoeDIHVjHNHVHMb3yizoqGixXLvO2OHOnK1SCP-59DtPqECdXleUsiwjl6BfLMAfhBA7_FdRPf4gsF-he3wb7fcN_YfhzkjYbSScNR9UhA_nOo_xS-2_afesrVjFN7DfFWlRspRSsjntacZ5s2u7kpCGFmmRtUXVQtswTjiQEjZyTwnNSEZ3O8YIJds8T2lXCcLbrGR5vkMpgYFLtQ1ncHif2kStud-lpKzKjQoC2cX3MkqXVqeIHsJdVE1GJ1K_ciXbYMgeNnYftWsz9Q6lREnn3YrtpVewX4V4EMyThSC2_1_qHFG6may6faG8Q4MvqXnd0_8EAAD__7RRiPY">