From fc9e8a145556a42cff9c98ad30b1c8fda8bbfb44 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 29 Mar 2000 20:32:04 +0200 Subject: [PATCH] dwarf2out.c (gen_enumeration_type_die): If enum has a negative value, don't output it as unsigned. * dwarf2out.c (gen_enumeration_type_die): If enum has a negative value, don't output it as unsigned. From-SVN: r32807 --- gcc/ChangeLog | 5 +++++ gcc/dwarf2out.c | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7cffb9fcb03..6d2d771e5c8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-03-29 Jakub Jelinek + + * dwarf2out.c (gen_enumeration_type_die): If enum has a negative + value, don't output it as unsigned. + Wed Mar 29 10:53:49 2000 Jeffrey A Law (law@cygnus.com) * stmt.c (stmt_loop_nest_empty): Allow cfun->stmt to be NULL. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index eb9630c9628..c493d54f572 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -7905,8 +7905,14 @@ gen_enumeration_type_die (type, context_die) IDENTIFIER_POINTER (TREE_PURPOSE (link))); if (host_integerp (TREE_VALUE (link), 0)) - add_AT_unsigned (enum_die, DW_AT_const_value, - tree_low_cst (TREE_VALUE (link), 0)); + { + 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)); + } } } else -- 2.30.2