re PR debug/58150 (debug info about definition of enum class not emitted if the decla...
authorJakub Jelinek <jakub@redhat.com>
Sun, 11 Mar 2018 16:50:08 +0000 (17:50 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Sun, 11 Mar 2018 16:50:08 +0000 (17:50 +0100)
commitcd5437ab5d98cf95cc6686a533b7d3582bcb1706
tree54e2da59d352dcb8b8042f0b4be28546059be6fb
parentff77f6e8b3c1ad4ef3ec86289969e10100911913
re PR debug/58150 (debug info about definition of enum class not emitted if the declaration was already used in a class)

PR debug/58150
* dwarf2out.c (gen_enumeration_type_die): Don't guard adding
DW_AT_declaration for ENUM_IS_OPAQUE on -gdwarf-4 or -gno-strict-dwarf,
but on TYPE_SIZE.  Don't do anything for ENUM_IS_OPAQUE if not creating
a new die.  Don't set TREE_ASM_WRITTEN if ENUM_IS_OPAQUE.  Guard
addition of most attributes on !orig_type_die or the attribute not
being present already.  Assert TYPE_VALUES is NULL for ENUM_IS_OPAQUE.

* g++.dg/debug/dwarf2/enum2.C: New test.

From-SVN: r258434
gcc/ChangeLog
gcc/dwarf2out.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/debug/dwarf2/enum2.C [new file with mode: 0644]