1f08c3bdfSopenharmony_ci#define __bitwise __attribute__((bitwise)) 2f08c3bdfSopenharmony_ci#define __force __attribute__((force)) 3f08c3bdfSopenharmony_ci 4f08c3bdfSopenharmony_citypedef long long __bitwise bits; 5f08c3bdfSopenharmony_ci 6f08c3bdfSopenharmony_cienum r { 7f08c3bdfSopenharmony_ci RZ = (__force bits) 0, 8f08c3bdfSopenharmony_ci RO = (__force bits) 1, 9f08c3bdfSopenharmony_ci RM = (__force bits) -1, 10f08c3bdfSopenharmony_ci}; 11f08c3bdfSopenharmony_ci 12f08c3bdfSopenharmony_ci_Static_assert([typeof(RZ)] == [bits], "RZ"); 13f08c3bdfSopenharmony_ci_Static_assert([typeof(RO)] == [bits], "RO"); 14f08c3bdfSopenharmony_ci_Static_assert([typeof(RM)] == [bits], "RM"); 15f08c3bdfSopenharmony_ci_Static_assert(sizeof(enum r) == sizeof(bits), "bits"); 16f08c3bdfSopenharmony_ci 17f08c3bdfSopenharmony_ci/* 18f08c3bdfSopenharmony_ci * check-name: enum-bitwise 19f08c3bdfSopenharmony_ci */ 20