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

    <tr>
        <th>Summary</th>
        <td>
            vector_size of enum type is rejected
        </td>
    </tr>

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

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

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

<pre>
    While trying to improve GCC's documentation for vector_size, I noticed clang rejects this:
```
#define vect16 __attribute__((vector_size(16)))
enum   tt : long {enumv};
extern vect16 enum tt t;
```

While GCC accepts it.

Note this also means:
```
#include <cstddef>
#define vect16 __attribute__((vector_size(16)))
extern vect16 std::byte t;
```
is rejected because std::byte is an enum type.

Note I am going to file a GCC bug report too (will link them together afterwards).
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysU82OnDwQfBpzae3I2MPPHDjMzn6z2st3zXFk7AacNTaym9lMnj6CJdmfKDlFskBgV7mqululZHuP2LDinhUPmZppCLGZrE_PVmVtMLfmy2AdAsWb9T1QADtOMVwRHk8nJqoEJuh5RE-KbPDQhQhX1BTiJdnvyMQJnsAHshoNaKd8DxG_oqYENNjE5JHxB8aPrOTbev0U0mBnPa5keQmXiyKKtp0JLxcmaibqD9fUecnEYVsrBfp5BAAiYPIILvgeWHW__L2y6oHJ--3YN8Lof16zgoiAfu1_FrY-XzN5PJ1AaY0TJbC0e3_g_0C4GgTlUoARlf-bV-u1mw0CkyedyBjsmPzv3yXxwWIisyiRx_a2aPyTUZu2QqGBFrWaE36CLub8lthtwt_9P4EaoQ9b33RLZGoNrZ2XLphCJKAQgIn6xToHzvpnoAFHoNAjDRhBdYTxRUWTmDjsMtNIc5AHlWGTV7kUouRFlQ3NAaWs9siLui3bousKxXWt2oORrSiqmme2EVzs-T4vOeeVrHY8r6SpW1kVWnV52bE9x1FZt3PuOu5C7DOb0oxNXdd5lTnVokvrlAjh8QXWTSbEMjSxWTB37dwntufOJkpvLGTJYfOuQBC6t8zgXcrZHF0zEE1ro4gzE-fe0jC3Ox1GJs4L5fa6m2JYQEycVyGJifMq9EcAAAD__0TaLz4">