<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">