#define __bitwise __attribute__((bitwise)) | |
#define __force __attribute__((force)) | |
typedef long long __bitwise bits; | |
enum r { | |
RZ = (__force bits) 0, | |
RO = (__force bits) 1, | |
RM = (__force bits) -1, | |
}; | |
_Static_assert([typeof(RZ)] == [bits], "RZ"); | |
_Static_assert([typeof(RO)] == [bits], "RO"); | |
_Static_assert([typeof(RM)] == [bits], "RM"); | |
_Static_assert(sizeof(enum r) == sizeof(bits), "bits"); | |
/* | |
* check-name: enum-bitwise | |
*/ |