[Bug c++/87292] Warnings with Bit Fields

2018-09-13 Thread nunojpg at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87292 --- Comment #4 from Nuno Gonçalves --- 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;

[Bug c++/87292] Warnings with Bit Fields

2018-09-13 Thread nunojpg at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87292 --- Comment #3 from Nuno Gonçalves --- Also to add, this could be suppressed if enum class Bool : bool{False=0, True=1}; So a better example is for a 2 bit BitField: enum class Nr : uint8_t{Zero=0, One=1, Two=2, Three=3}; struct{ Nr

[Bug c++/87292] Warnings with Bit Fields

2018-09-13 Thread nunojpg at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87292 --- Comment #2 from Nuno Gonçalves --- Not the case since, same warning if: enum class Bool : uint8_t {False=0, True=1}

[Bug c++/87292] New: Warnings with Bit Fields

2018-09-13 Thread nunojpg at gmail dot com
: unassigned at gcc dot gnu.org Reporter: nunojpg at gmail dot com Target Milestone: --- #include #include int main() { 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