aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2011-05-08 09:15:34 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2011-05-08 09:15:34 +0000
commitf64c36badca16712f27b498b5db1802aee935c66 (patch)
treec2bee18eb529adc778aa56143b101088f9233ff6
parentc461a95732e4ab7fbdebf93794e35324e33614be (diff)
downloadgcc-f64c36badca16712f27b498b5db1802aee935c66.zip
gcc-f64c36badca16712f27b498b5db1802aee935c66.tar.gz
gcc-f64c36badca16712f27b498b5db1802aee935c66.tar.bz2
* config/avr/avr.c (print_operand_address): Fix invalid RTL access.
From-SVN: r173548
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/avr/avr.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 30717f5..c1a359d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2011-05-08 Eric Botcazou <ebotcazou@adacore.com>
+ * config/avr/avr.c (print_operand_address): Fix invalid RTL access.
+
+2011-05-08 Eric Botcazou <ebotcazou@adacore.com>
+
* config/rs6000/rs6000.c (output_profile_hook): Fix thinko.
2011-05-08 Jonathan Wakely <jwakely.gcc@gmail.com>
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index ba78160..522a356 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -1318,7 +1318,9 @@ print_operand_address (FILE *file, rtx addr)
if (CONSTANT_ADDRESS_P (addr)
&& text_segment_operand (addr, VOIDmode))
{
- rtx x = XEXP (addr,0);
+ rtx x = addr;
+ if (GET_CODE (x) == CONST)
+ x = XEXP (x, 0);
if (GET_CODE (x) == PLUS && GET_CODE (XEXP (x,1)) == CONST_INT)
{
/* Assembler gs() will implant word address. Make offset