aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-04-19 09:48:46 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2010-04-19 09:48:46 +0200
commit5a2fa9e8bf068aaacb57627c058b0d5891763857 (patch)
treef9163000e53082256164d9a61e169b2713881111 /gcc/dwarf2out.c
parent6e46695631394f346c197cc89ad72233ccfca130 (diff)
downloadgcc-5a2fa9e8bf068aaacb57627c058b0d5891763857.zip
gcc-5a2fa9e8bf068aaacb57627c058b0d5891763857.tar.gz
gcc-5a2fa9e8bf068aaacb57627c058b0d5891763857.tar.bz2
tree.h (ENUM_IS_SCOPED): Define.
* tree.h (ENUM_IS_SCOPED): Define. * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class for ENUM_IS_SCOPED enums. cp/ * cp-tree.h (SCOPED_ENUM_P, UNSCOPED_ENUM_P, SET_SCOPED_ENUM_P): Use ENUM_IS_SCOPED bit instead of TYPE_LANG_FLAG_5. testsuite/ * g++.dg/debug/dwarf2/enum1.C: New test. From-SVN: r158505
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 5a9a3b8..a4cb347 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -17385,6 +17385,9 @@ gen_enumeration_type_die (tree type, dw_die_ref context_die)
scope_die_for (type, context_die), type);
equate_type_number_to_die (type, type_die);
add_name_attribute (type_die, type_tag (type));
+ if ((dwarf_version >= 4 || !dwarf_strict)
+ && ENUM_IS_SCOPED (type))
+ add_AT_flag (type_die, DW_AT_enum_class, 1);
}
else if (! TYPE_SIZE (type))
return type_die;