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