backport: re PR c++/61414 (enum class bitfield size-checking needs a separate warning...
commit22a7fa8517063c76b069d2b08dca5a9d270798f8
authorJakub Jelinek <jakub@redhat.com>
Fri, 14 Feb 2020 11:45:30 +0000 (14 12:45 +0100)
committerJakub Jelinek <jakub@redhat.com>
Fri, 14 Feb 2020 15:01:43 +0000 (14 16:01 +0100)
tree7e8226fe705d4c04b272dc98bf8bf4ef22858b27
parentdbdf86838aaaef76620c00c53096cfe157d5af6e
backport: re PR c++/61414 (enum class bitfield size-checking needs a separate warning flag controlling it)

Backported from mainline
2019-11-26  Jakub Jelinek  <jakub@redhat.com>

PR c++/61414
* c-attribs.c (handle_mode_attribute): Add mode attribute to
ENUMERAL_TYPEs.

* class.c (enum_to_min_precision): New hash_map.
(enum_min_precision): New function.
(check_bitfield_decl): Use it.

* g++.dg/cpp0x/enum23.C: Remove xfail.
* g++.dg/cpp0x/enum28.C: New test.
gcc/c-family/ChangeLog
gcc/c-family/c-attribs.c
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/enum23.C
gcc/testsuite/g++.dg/cpp0x/enum38.C [new file with mode: 0644]