<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=http://email.email.llvm.org/c/eJylVE2T4iAQ_TXJhdJKiFFzyEHHmjnsYWu3Zn4ACZ2EHYQMEJ3ZX78NUePH7mktVGi6m8d73VSaf5U_QcKBKUdeNK-0dFG2IZ1zvcVJRJ9xtOPGXJsWV7_xW9Qf6vD6kn1EyS5KNuPvawek0VLqo1AtsUr0PTjSMCEtcZrUet8LCT7rVVC0TMZRR3Trx2gN5yq2B9uzGsiWGRKttmS0k0Z8giVwAPPlOjxsDLLODLU7-54PKUANe_Ks9Y0Rx4ZE2Y6kEX26tm6Dld5Zn4J1MZlWuyg7Z7ueh9_BegLGTIjmblcg1XsmVETXES0mVAQ_Y2RAvPVEZRsEfhfv_U48vAV3obg4CD4wSZDHkMJTeu9sHXOwB-Us6cHMaq3QotyDH9dgEdzKo3wHwtQX4aJpwICq4cLLVQB81tA7cuxAERQfjAfVGL1_8JxZx5GUk9Q08WVxa0tXeAKmEnX3EH0qIIvyK5hPWoTdE-dXpPnJ5sLdlOfvnts7ljGxF6oJIqJUKPMTAizQ7UIotA0b5AODd3E3MUcQhhMwRpt_h41nTUHfv02Vdts014jfFBLk9fXXc9iLB2aEHizKaN6BE4msWXIUUhIOe6--wYIgjDRwvCjsiDerFkLfDgZIzSzYeczLjBdZwWI2uE6b8of4nMWDkeXdUyFcN1RzRIILKQ_nv1lv9C-onb-ntQNYnOR0nS_jrqyb9TpdZdmiqpYrNGV8yat0vchrSCre0FiyCqQtoxwFoArRhhQ4j_Jd_P8IREkTmqaUZmmRrPNivshhVXCaJU2O6zqNFglgx8q5z-NfwdiUIWU1tBY3pbDOTpvMWtEqgAAYETrhJJRjrzI1dve5-0hl9NB2DpsYe8HWuofTI8AuzRwicDF1MKro3z308T2hB4Ul9dkbwIO1QsUGlAw3zwUahwuX4bZ_AI64ux4>52856</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Using an enum constant brought into scope using a `using enum` statement within a compound expression causes a segfault
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Qix-
</td>
</tr>
</table>
<pre>
Relevant Godbolt: https://godbolt.org/z/9cqnvTG3q
The following snippet fails to compile:
```c++
//namespace Bar { // fixes everything
struct Bar {
enum Foo {
A = 1,
B = 2,
C = 4
};
};
using B = Bar;
int main() {
using enum B::Foo;
// Using individual `using`
// statements per-constant
// doesn't make any difference,
// except when lowering from
// -std=c++20 to -std=c++17, which
// compiles fine.
//using B::Foo::A;
//using B::Foo::B;
int f = (A|B); // segfault
//int f = (A); // weird error
//int f = A|B; // OK
}
```
Uncommenting the various marked lines will demonstrate a few different strange failure cases.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx1VMty2jAU_Rp7cwfGyDjghRcQJll00Wkn_QDZvrbVCMmRZEj69b2SAfNoGWGk-zycc-VS11_FT5R44MrBq65LLV2UbqBzrre0idgLrXZ0zLVp6fSHvnn1oQ5vr-lHlOyiZDM-3zqERkupj0K1YJXoe3TQcCEtOA2V3vdCoq96lRQ9JeOqIrb1a7SGvorv0fa8QthyA9FqC6MdGvGJFvCA5st11GxMss4MlTvHnpvkqIY9vGh9Y6S1gSjdwSJiz9fWbbCyO-tzsC4n02oXpedq1_vwHKwnYKxEaO68gqjec6Eito5YPqEC-oyZAfHWE5VuCPhdvo878fArhAtVi4OoBy6BeAwlPKX3wdZxh3tUzkKPZlZpRRblHuJqjZbArTzKdwSuvqAWTYMGVYUXXq4S8LPC3sGxQwUkPhoPqjF6_xA5s64mUk5Ss8SPxa1tsaIOVEpU3UP2aYAsya9wPmkRvCfOr0jzm82Fu6nOvyO3dyxTYS9UE0QkqUjmZwKYU9iFUGwbPsgHBu_ybnKOKEwNaIw2_08be01J379Nk3Z7aa4R_1JEkNfX_z1Hd_HAjdCDJRnNO9YgiTULRyEl1Lj36hsaCODQ4PGisANvVi2GezsYhIpbtPO4LtI6T3MeO-EkFuPkcTXO6nmWoDR6aDtHI0nK2kr3eBppfhnNkEGHaR4Jk7_FFOMV1oMigj57g9YKraj_QADIeaY7Hows7l5QVGAo55ROBykP559Zb_RvrJxn19oBLW0yts6e4q5YlyveNFXKkuwpXZTrdZWuEpYu0wzTMk-WseQlSltEGcnOFHEUStA-ynaxKFjCFgvG0kWerLN8vsxwldcsTZqMztUiWiZIt1zOPQ7_5oxNESCVQ2vJKYV1dnJy-rOtQgztqD4fXKdN8UN8zuLQtwi4_wLfDaUH">