From 35dc2bd884bfe86de76ff1b9937d63d6043f4d1f Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Sun, 20 Jul 2003 07:24:58 +0000 Subject: [PATCH] re PR debug/11279 (DWARF-2 output mishandles large enums) PR debug/11279 * dwarf2out.c (gen_enumeration_type_die): Remember that enumerators can be unsigned. From-SVN: r69605 --- gcc/ChangeLog | 6 ++++++ gcc/dwarf2out.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0905e540d5f..2123f9cde7f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-07-20 Mark Mitchell + + PR debug/11279 + * dwarf2out.c (gen_enumeration_type_die): Remember that + enumerators can be unsigned. + 2003-07-19 Zack Weinberg * c-decl.c (named_labels, shadowed_labels, label_level_chain) diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 368927168d2..591d2da6539 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -10325,14 +10325,15 @@ gen_enumeration_type_die (tree type, dw_die_ref context_die) add_name_attribute (enum_die, IDENTIFIER_POINTER (TREE_PURPOSE (link))); - if (host_integerp (TREE_VALUE (link), 0)) + if (host_integerp (TREE_VALUE (link), + TREE_UNSIGNED (TREE_TYPE (TREE_VALUE (link))))) { if (tree_int_cst_sgn (TREE_VALUE (link)) < 0) add_AT_int (enum_die, DW_AT_const_value, tree_low_cst (TREE_VALUE (link), 0)); else add_AT_unsigned (enum_die, DW_AT_const_value, - tree_low_cst (TREE_VALUE (link), 0)); + tree_low_cst (TREE_VALUE (link), 1)); } } }