The underlying type of the enum cannot be fixed here due to its usage
in C code.
It seems that all the values possible in the underlying type are not
valid for an enum.
Only 0 to (2*max - 1) if all enumerators are unsigned.
Or -2*max + 1 to 2*max -1 if at least one value in the enum is
signed.
For the latter, we'll have to add a dummy enumerator with -1 value.
For the former, the macro asks for the biggest value among the
listed ones. If any enumerator C is set to say A|B, then C would
be the maximum.
(2*max-1) is used as the mask.
The warning:
GPU_vertex_buffer.h:43:1: runtime error: load of value 4294967291
which is not a valid value for type 'GPUVertBufStatus'
https://github.com/llvm/llvm-project/commit/1c2c9867
Ref T81340