Hi Alejandro, On Sat, Nov 13, 2021 at 8:56 PM Alejandro Colomar (man-pages) <alx.manpages@xxxxxxxxx> wrote: > On 11/13/21 14:02, Mickaël Salaün wrote: > >> TL;DR: > >> > >> ISO C specifies that for the following code: > >> > >> enum foo {BAR}; > >> > >> enum foo foobar; > >> > >> typeof(foo) shall be int > >> typeof(foobar) is implementation-defined > > > > I tested with some version of GCC (from 4.9 to 11) and clang (10 and 11) > > with different optimizations and the related sizes are at least the same > > as for the int type. > > GCC has -fshort-enums to make enum types be as short as possible. I > expected -Os to turn this on, since it saves space, but it doesn't. Changing optimization level must not change the ABI, else debugging would become even more of a nightmare. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds