From 23a7428590d6c587d9ca75507f36693f117f061b Mon Sep 17 00:00:00 2001
From: mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Sun, 20 Jul 2003 07:24:58 +0000
Subject: [PATCH] 	PR debug/11279 	* dwarf2out.c
 (gen_enumeration_type_die): Remember that 	enumerators can be unsigned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69605 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog   | 6 ++++++
 gcc/dwarf2out.c | 5 +++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0905e540d5f2..2123f9cde7f0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2003-07-20  Mark Mitchell  <mark@codesourcery.com>
+
+	PR debug/11279
+	* dwarf2out.c (gen_enumeration_type_die): Remember that
+	enumerators can be unsigned.
+
 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
 
 	* c-decl.c (named_labels, shadowed_labels, label_level_chain)
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 368927168d22..591d2da65390 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));
 	    }
 	}
     }
-- 
GitLab