root/usr/src/tools/smatch/src/validation/enum-bitwise-mixed.c
#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
 */