From: Jim Wilson Date: Wed, 25 Sep 1996 19:31:31 +0000 (-0700) Subject: (instantiate_decl): Always store addr back into x. X-Git-Tag: misc/cutover-egcs-0~1492 X-Git-Url: https://gcc.gnu.org/git/?a=commitdiff_plain;h=87ce34d632040b4a51324f71e0dc87f1942f57d9;p=gcc.git (instantiate_decl): Always store addr back into x. From-SVN: r12842 --- diff --git a/gcc/function.c b/gcc/function.c index 0591a8bea336..b34f48dd0e3b 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -2684,28 +2684,28 @@ instantiate_decl (x, size, valid_only) instantiate_virtual_regs_1 (&addr, NULL_RTX, 0); - if (! valid_only) - return; - - /* Now verify that the resulting address is valid for every integer or - floating-point mode up to and including SIZE bytes long. We do this - since the object might be accessed in any mode and frame addresses - are shared. */ - - for (mode = GET_CLASS_NARROWEST_MODE (MODE_INT); - mode != VOIDmode && GET_MODE_SIZE (mode) <= size; - mode = GET_MODE_WIDER_MODE (mode)) - if (! memory_address_p (mode, addr)) - return; + if (valid_only) + { + /* Now verify that the resulting address is valid for every integer or + floating-point mode up to and including SIZE bytes long. We do this + since the object might be accessed in any mode and frame addresses + are shared. */ + + for (mode = GET_CLASS_NARROWEST_MODE (MODE_INT); + mode != VOIDmode && GET_MODE_SIZE (mode) <= size; + mode = GET_MODE_WIDER_MODE (mode)) + if (! memory_address_p (mode, addr)) + return; - for (mode = GET_CLASS_NARROWEST_MODE (MODE_FLOAT); - mode != VOIDmode && GET_MODE_SIZE (mode) <= size; - mode = GET_MODE_WIDER_MODE (mode)) - if (! memory_address_p (mode, addr)) - return; + for (mode = GET_CLASS_NARROWEST_MODE (MODE_FLOAT); + mode != VOIDmode && GET_MODE_SIZE (mode) <= size; + mode = GET_MODE_WIDER_MODE (mode)) + if (! memory_address_p (mode, addr)) + return; + } - /* Otherwise, put back the address, now that we have updated it and we - know it is valid. */ + /* Put back the address now that we have updated it and we either know + it is valid or we don't care whether it is valid. */ XEXP (x, 0) = addr; }