2 /* { dg-do compile } */
3 /* { dg-options "" } */
5 #define SA(X) _Static_assert((X),#X)
8 enum e1
{ A
} __attribute__ ((__packed__
));
9 enum e2
{ B
} __attribute__ ((__packed__
));
10 SA (sizeof (enum e1
) == sizeof (enum e2
));
11 SA (_Alignof (enum e1
) == _Alignof (enum e2
));
14 enum e3
{ C
= 256 } __attribute__ ((__packed__
));
15 enum e4
{ D
= 256 } __attribute__ ((__packed__
));
16 SA (sizeof (enum e3
) == sizeof (enum e4
));
17 SA (_Alignof (enum e3
) == _Alignof (enum e4
));
20 enum e5
{ E
= __INT_MAX__
} __attribute__ ((__packed__
));
21 enum e6
{ F
= __INT_MAX__
} __attribute__ ((__packed__
));
22 SA (sizeof (enum e5
) == sizeof (enum e6
));
23 SA (_Alignof (enum e5
) == _Alignof (enum e6
));
26 enum e7
{ G
} __attribute__ ((__mode__(__byte__
)));
27 enum e8
{ H
} __attribute__ ((__mode__(__byte__
)));
28 SA (sizeof (enum e7
) == sizeof (enum e8
));
29 SA (_Alignof (enum e7
) == _Alignof (enum e8
));
32 enum e9
{ I
} __attribute__ ((__packed__
, __mode__(__byte__
)));
33 enum e10
{ J
} __attribute__ ((__packed__
, __mode__(__byte__
)));
34 SA (sizeof (enum e9
) == sizeof (enum e10
));
35 SA (_Alignof (enum e9
) == _Alignof (enum e10
));
38 enum e11
{ K
} __attribute__ ((__mode__(__word__
)));
39 enum e12
{ L
} __attribute__ ((__mode__(__word__
)));
40 SA (sizeof (enum e11
) == sizeof (enum e12
));
41 SA (_Alignof (enum e11
) == _Alignof (enum e12
));