OSDN Git Service

* dwarf2out.c (add_data_member_location_attribute): Use
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Jul 2010 15:47:43 +0000 (15:47 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 27 Jul 2010 15:47:43 +0000 (15:47 +0000)
add_AT_unsigned instead of add_AT_int if offset is non-negative.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162576 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/dwarf2out.c

index 3ca65bb..9399d1c 100644 (file)
@@ -1,3 +1,8 @@
+2010-07-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (add_data_member_location_attribute): Use
+       add_AT_unsigned instead of add_AT_int if offset is non-negative.
+
 2010-07-27  Bernd Schmidt  <bernds@codesourcery.com>
 
        * postreload.c (try_replace_in_use): New static function.
index 1ca53bb..d6751ac 100644 (file)
@@ -15915,7 +15915,10 @@ add_data_member_location_attribute (dw_die_ref die, tree decl)
       if (dwarf_version > 2)
        {
          /* Don't need to output a location expression, just the constant. */
-         add_AT_int (die, DW_AT_data_member_location, offset);
+         if (offset < 0)
+           add_AT_int (die, DW_AT_data_member_location, offset);
+         else
+           add_AT_unsigned (die, DW_AT_data_member_location, offset);
          return;
        }
       else