<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/60639>60639</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Clang crash: unexpected context for redeclaration
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
aeubanks
</td>
</tr>
</table>
<pre>
```
$ cat a.cc
namespace {
extern "C" {
void a();
class {
friend void ::a()
};
}
}
$ clang -fsyntax-only a.cc
clang++: ../../clang/lib/Sema/SemaDecl.cpp:3589: void adjustDeclContextForDeclaratorDecl(DeclaratorDecl *, DeclaratorDecl *): Assertion `(NamedDC->InEnclosingNamespaceSetOf(SemaDC) || NewD->isInv
alidDecl() || OldD->isInvalidDecl()) && "unexpected context for redeclaration"' failed.
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMUk1vozAQ_TXDxQoyA-HjwCGFIvXSHvoLjD0k7jomwiZN__3KQDbtag8rWXh488Z6M_OEc_poiWrYP8G-jcTsT-NUC5p7YX-5qB_VVw053w5vgR8AMyaFZyKWckWsOJO7CEkMiqcVopunyTJAbADxgV9HrZgALAErSDdQGuHcg8PYMGmyii1kSA-QHu4lq4Ki_VMb4r-CoM8Ie2S7wX1ZL2670Zqvb3qXLOBTOOmBxTFgt3y2RGd0D9i901lsV0vSxPJygfSQ7ssqVK2dqI_Z-ZBtRuvp5rtxCn9iEn6NAMufAAM8ADbsX-jy8ME5mrweLQsjx_JVnEm1zQ7S5xf7bKUZnbbH1_vM38m_DYDlIrMBrBgUDRQNe6XPNhRp92Kva-PCaLWJ-kZ8M-pB_ElZWJgD5mGVs6XbhaQnxeTaLhvGiU2ktl70aAERsGCD0IZUzLaV3B0UqTpVVVqJiOokL_ZVnvOsiE415UWS9YkSQ74Xmeo5L7OEF2lJRVJl-yTSNXJMOfIqKXmBRUy5omzgYiDK5ZAQZJzOQpvYmOs5HqdjpJ2bqc55nlaRET0Zt9gc0dInW5JB7L6NpjrU7Pr56CDjRjvvHq947Q3VzWIoOQl3Cjv6n0lE82Tqk_cXFyyMHWB31P4097Ecz8Fk5nq_dpdp_CDpAbtFlwPsFt2_AwAA___bVRby">