aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1996-09-25 12:31:31 -0700
committerJim Wilson <wilson@gcc.gnu.org>1996-09-25 12:31:31 -0700
commit87ce34d632040b4a51324f71e0dc87f1942f57d9 (patch)
treec8641b80ec988ea5f0dbf7063c1287095e36a69d /gcc/function.c
parentf49e41275c653b4fe1e4e92b5f6d3df93e21a691 (diff)
downloadgcc-87ce34d632040b4a51324f71e0dc87f1942f57d9.zip
gcc-87ce34d632040b4a51324f71e0dc87f1942f57d9.tar.gz
gcc-87ce34d632040b4a51324f71e0dc87f1942f57d9.tar.bz2
(instantiate_decl): Always store addr back into x.
From-SVN: r12842
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c40
1 files changed, 20 insertions, 20 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 0591a8b..b34f48d 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;
}