aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-09-19 01:17:25 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2009-09-19 01:17:25 +0200
commitbc8b6c988dc2b85732a32d2fabf33a63c3153034 (patch)
tree4dfd9c3c976a1bc8136e9653958659cae3999075
parentca94da4829a337e997702f9f0b166f0fde29e019 (diff)
downloadgcc-bc8b6c988dc2b85732a32d2fabf33a63c3153034.zip
gcc-bc8b6c988dc2b85732a32d2fabf33a63c3153034.tar.gz
gcc-bc8b6c988dc2b85732a32d2fabf33a63c3153034.tar.bz2
re PR bootstrap/41397 (RTL checking failure compiling libiberty)
PR bootstrap/41397 * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: Recurse instead of assuming it has always a REG inside of it. From-SVN: r151872
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/dwarf2out.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 709c5aa..b080063 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-09-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/41397
+ * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: Recurse
+ instead of assuming it has always a REG inside of it.
+
2009-09-18 Gerald Pfeifer <gerald@pfeifer.com>
* config/freebsd.h: Update comment on types.
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index d2d2fef..7202a8e 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -11070,8 +11070,8 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode,
rtl = XEXP (rtl, 0);
if (GET_MODE_SIZE (GET_MODE (rtl)) > DWARF2_ADDR_SIZE)
break;
-
- /* ... fall through ... */
+ mem_loc_result = mem_loc_descriptor (rtl, mode, initialized);
+ break;
case REG:
/* Whenever a register number forms a part of the description of the