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

    <tr>
        <th>Summary</th>
        <td>
            crash with 'using enum' in combination with bitwise OR and brackets
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    The following snippet causes llvm to crash:

```
struct Wrap {
enum Things {
    Value1,
    Value2
};
};

using enum Wrap::Things;

int main() {
    int i = ( Value1 | Value2 );
}
```

Removing the brackets
```
    int i = Value1 | Value2;
```

resolves the issue.

It appears to be related to #54746


original source, preprocessed file, run script, and stdout log attached:
[llvm_crash.zip](https://github.com/llvm/llvm-project/files/9675261/llvm_crash.zip)

godbolt link:
https://godbolt.org/z/8qjjajPn9
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVU01v2zAM_TXyRVjgyN8HH9oGBXbaUBTbcZBlxlaqSJ4-GrS_fpSSLkmXywxZMima74mPGsz41j_PQLdGKXOQeqJOy2UBTwUPDhxV6nVPvaHCcjeT4o7kG5J_zHV-Gsl03gbh6U_LF0qa-6MTdNjT5xkzu7OT4vODqwBrwh4-udgpd7Mhxf2N7zQHF6mm3BEu8irujiifIqX2dM-lJqwlrLumEPckJcWG4u6JEEY8nIigt7vicOvQx_kJ9uY1UvJYy8Fy8QLe3Yy_xv0H84x3C8aCM-oVVYkw0rkAq8vtr55y1I5bFxUbgFpQ3MMYLcKKqmzK-kq_NBsrJ6m5os4EKwAVoYuFxRoBzuHPW6mS0wZNnbBy8dHieqTOjyZ4qsxEufdczDCeO6S6j63zK_XN6l0upNpglWfvFxeD2COOSfo5DCth9mjE8NPyBdF3IBDoMaI7XLu6qVi9PgVcpEWNLg4zmXEwCjlJ_fKXyyfQY8jK2Amtd3zb37sd333XXQb9uq7Lss7zMs_Gvhi7ouOZl15BnyDpASljMZtzB6KBilI8xIBl9NLoY9Ag_UE6oN-eUrE-uiILVvX_XYYkdqxD1eZVk829EGNRsXVRlC1jDevGoRqQ93qbiwK6imWKD6BcjzoQxjQcjv2C3yhEJnuWM5Z3rFuX8ayrNq9ZPY7tthW8gG1Jyhzw2qhV5BFLldk-URoCXrEyV9J5d97kzslJAyQ4zM-Dn43tB9C7t70JLkvgfSL_B_dtVAg">