From a0ebe2eeac831569f35075b8708b6fc7031c3c7e Mon Sep 17 00:00:00 2001 From: nickc Date: Wed, 26 Mar 2008 12:32:22 +0000 Subject: [PATCH] PR target/31232 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p): Do not allow INT+INT as a legitimate addressing mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133598 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/config/stormy16/stormy16.c | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 571d9400c0f6..d31e6adbe146 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 a4c174631947..078b367554f8 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) -- 2.47.2