OSDN Git Service

PR debug/42767
authorjiez <jiez@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 17 Jan 2010 10:19:22 +0000 (10:19 +0000)
committerjiez <jiez@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 17 Jan 2010 10:19:22 +0000 (10:19 +0000)
* dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
and US_TRUNCATE.

testsuite/
PR debug/42767
* gcc.dg/debug/pr42767.c: New.

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

gcc/ChangeLog
gcc/dwarf2out.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/debug/pr42767.c [new file with mode: 0644]

index 5a313c0..6a24e59 100644 (file)
@@ -1,3 +1,9 @@
+2010-01-17  Jie Zhang  <jie.zhang@analog.com>
+
+       PR debug/42767
+       * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
+       and US_TRUNCATE.
+
 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
 
        * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
index 02c0afd..11a4960 100644 (file)
@@ -1,6 +1,6 @@
 /* Output Dwarf2 format symbol table information from GCC.
    Copyright (C) 1992, 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-   2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
    Contributed by Gary Funck (gary@intrepid.com).
    Derived from DWARF 1 implementation of Ron Guilmette (rfg@monkeys.com).
    Extensively modified by Jason Merrill (jason@cygnus.com).
@@ -13438,6 +13438,8 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode,
       /* In theory, we could implement the above.  */
       /* DWARF cannot represent the unsigned compare operations
         natively.  */
+    case SS_TRUNCATE:
+    case US_TRUNCATE:
     case SS_MULT:
     case US_MULT:
     case SS_DIV:
index 8c45d48..1302d42 100644 (file)
@@ -1,3 +1,8 @@
+2010-01-17  Jie Zhang  <jie.zhang@analog.com>
+
+       PR debug/42767
+       * gcc.dg/debug/pr42767.c: New.
+
 2010-01-15  Jason Merrill  <jason@redhat.com>
 
        PR c++/42761
diff --git a/gcc/testsuite/gcc.dg/debug/pr42767.c b/gcc/testsuite/gcc.dg/debug/pr42767.c
new file mode 100644 (file)
index 0000000..1f0e25f
--- /dev/null
@@ -0,0 +1,18 @@
+/* PR debug/42767 */
+/* { dg-do compile } */
+/* { dg-options "-O1 -g" } */
+
+struct lineno_cache_entry
+{
+  unsigned long size;
+};
+_bfd_link_section_stabs (struct lineno_cache_entry * stabsec)
+{
+  unsigned long count;
+  unsigned char *sym;
+  unsigned char *symend;
+  unsigned long skip;
+  count = stabsec->size / 12;
+  for (; sym < symend; sym += 1);
+  stabsec->size = (count - skip) * 12;
+}