sashab added a comment.
Sorry, had this discussion elsewhere
(https://bugs.chromium.org/p/chromium/issues/detail?id=648462).
I'm uncertain at this point. There is currently a bug in GCC that means enums
with an explicit underlying type (or enum classes, although the latter is to be
fixed) are given the size of their underlying type. For example:
enum Foo { A, B };
can be stored in a bitfield of size 1, but:
enum Foo : unsigned char { A, B };
will error in a bitfield of any size smaller than 8.
So when this modification tells the developer to add 'unsigned' to their enum,
they are subsequently causing a warning to occur in GCC.
I have commented on the bug on GCC for this
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51242#c28), but it looks unlikely
to be fixed.
Should we go ahead and add this warning when following its instructions will
cause a warning in the GCC compiler? Even though GCC is at fault here, I'm not
sure what the right thing is to do.
https://reviews.llvm.org/D24289
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits