https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87292
--- Comment #4 from Nuno Gonçalves <nunojpg at gmail dot com> --- I found that the issue with enum have been extensively debated at #61414. Sorry. So actually this bug report is only regarding the warning with initializer list: struct{ uint8_t c1:6; uint8_t c2:6; } a; auto c = {a.c1, a.c2}; //warning: narrowing conversion of '(unsigned char)c1' from 'unsigned char' to 'unsigned char:6' [-Wnarrowing]