diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 571d9400c0f..d31e6adbe14 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-03-26 Nick Clifton + + PR target/31232 + * config/stormy16/stormy16.c (xstormy16_legitimate_address_p): Do + not allow INT+INT as a legitimate addressing mode. + 2008-03-26 Richard Guenther * tree-flow.h (widen_bitfield): Remove declaration. diff --git a/gcc/config/stormy16/stormy16.c b/gcc/config/stormy16/stormy16.c index a4c17463194..078b367554f 100644 --- a/gcc/config/stormy16/stormy16.c +++ b/gcc/config/stormy16/stormy16.c @@ -629,7 +629,12 @@ xstormy16_legitimate_address_p (enum machine_mode mode ATTRIBUTE_UNUSED, if (GET_CODE (x) == PLUS && LEGITIMATE_ADDRESS_INTEGER_P (XEXP (x, 1), 0)) - x = XEXP (x, 0); + { + x = XEXP (x, 0); + /* PR 31232: Do not allow INT+INT as an address. */ + if (GET_CODE (x) == CONST_INT) + return 0; + } if ((GET_CODE (x) == PRE_MODIFY && GET_CODE (XEXP (XEXP (x, 1), 1)) == CONST_INT)