<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/69619>69619</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
_BitInt should not be allowed as underlying type of enumeration
</td>
</tr>
<tr>
<th>Labels</th>
<td>
c23,
accepts-invalid,
clang:diagnostics
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Endilll
</td>
</tr>
</table>
<pre>
Clang is the only implementation that accept the following code (https://godbolt.org/z/dnerMvKxh):
```cpp
enum E : _BitInt(2) {};
```
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3030.htm#design-bit.precise.integers suggests that this was considered and rejected due to interaction between bit-precise integers and integral promotion among other concerns. More details here: https://github.com/llvm/llvm-project/pull/69104#issuecomment-1771395567
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUU12PpDYQ_DXmpTUI2gwfDzzs3h5SFN1viIzdAz4ZG9nNTia_PjIzuSj7Fglh2eqyq6uqVUp28USjuL6L60ehDl5DHL97Y51zxRzMY_zmlF_AJuCVIHj3ALvtjjbyrNgGD7wqBqU17XzW3IJz4W79AjoYAoH9yrwnId8ETgKnJZg5OC5DXAROfwmcjKf44_P3P1eBQy6rPkT1Jtrq-el9f56QPzb4DkK-wR_vln_zLLBHgQOI7l10H0K-f4G-tuf_vyTu93sZdvKXxObF5CfrWuCUNGIuWOrmWZcJBp0ETl5WsipX3gRKQ1m6y2y53CNpm6i0nmmhmCAdy0KJ01MaXm2Cu0qgg0_WUCQDyhuI9JM0kwFzEHCADI9Kn5rOxHciD7Ply-t6-HV9Bp-bqBzsMWzhxKgt-AUCrxTzU5qiTyX8CJHAECvrEqwUKcv3xRDL6zGXOmwCJ-c-_1kuewyZosBpP5wTOLVDXTUCpU3pIB22HIJL3XW1HK7XtivMKM0gB1XQWLdD18m2wqZYx1uP1F9b3d-qhnojh65vlNKdwYaaFlVhR6xQ1lU91B1WWJWdaqgdqBtkU-m-laKpaFPWlZlYNqw4OYzt0NZD4dRMLp0pRtQoRbbwm0B8xjJdrP9Uzppf5zqHWsg3Y9XiQ2Kb_cU8AnE8W5-PJYmmcjZx-vdNtuxofIUP0hoOZ8AHhplA5dRnaxMc3lB0jzwC_NgJwg1ydimeA1Mc0Y3_24Gz3XR60NbD3wEAAP__SF41AQ">