1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
#define __bitwise __attribute__((bitwise))
#define __force __attribute__((force))
typedef long long __bitwise bits;
enum a {
AR = (__force bits) 0,
AP = 0,
AS = (__force bits) 1,
AQ = 1,
};
_Static_assert(sizeof(AP) == sizeof(int), "is bad?");
enum b {
BP = 0,
BR = (__force bits) 0,
BQ = 1,
BS = (__force bits) 1,
};
_Static_assert(sizeof(BP) == sizeof(int), "is bad?");
/*
* check-name: enum-bitwise-mixed
*
* check-error-start
enum-bitwise-mixed.c:8:14: warning: mixed bitwiseness
enum-bitwise-mixed.c:16:15: warning: mixed bitwiseness
* check-error-end
*/
|