aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1999-05-20 16:22:34 -0600
committerJeff Law <law@gcc.gnu.org>1999-05-20 16:22:34 -0600
commit1474e30354b1a0246bb809b1facf1a3b9d4604a9 (patch)
tree417ae3edbc2e199490a83bc4e074428aec9ff1b1
parentd08940b2c252d872b47eeb4ba6939ffd987da65e (diff)
downloadgcc-1474e30354b1a0246bb809b1facf1a3b9d4604a9.zip
gcc-1474e30354b1a0246bb809b1facf1a3b9d4604a9.tar.gz
gcc-1474e30354b1a0246bb809b1facf1a3b9d4604a9.tar.bz2
[multiple changes]
Thu May 20 10:00:42 1999 Stephen L Moshier <moshier@world.std.com> * Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include. Thu May 20 09:58:57 1999 Jan Hubicka <hubicka@freesoft.cz> * function.c (assign_stack_local): Align stack slot propertly. (assign_outer_stack_local): Likewise. From-SVN: r27073
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/Makefile.in2
-rw-r--r--gcc/function.c15
3 files changed, 18 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 82c95ac..c938cfc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+Thu May 20 10:00:42 1999 Stephen L Moshier <moshier@world.std.com>
+
+ * Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
+
+Thu May 20 09:58:57 1999 Jan Hubicka <hubicka@freesoft.cz>
+
+ * function.c (assign_stack_local): Align stack slot propertly.
+ (assign_outer_stack_local): Likewise.
+
Thu May 20 10:38:43 1999 Mark Mitchell <mark@codesourcery.com>
* expr.h (lang_expand_constant): Declare.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 36e9261..20b832a 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -166,7 +166,7 @@ INSTALL_ASSERT_H = install-assert-h
# The GCC to use for compiling libgcc2.a, enquire, and libgcc1-test.
# Usually the one we just built.
# Don't use this as a dependency--use $(GCC_PASSES) or $(GCC_PARTS).
-GCC_FOR_TARGET = ./xgcc -B./ -B$(build_tooldir)/bin/
+GCC_FOR_TARGET = ./xgcc -B./ -B$(build_tooldir)/bin/ -I$(build_tooldir)/include
# This is used instead of ALL_CFLAGS when compiling with GCC_FOR_TARGET.
# It omits XCFLAGS, and specifies -B./.
diff --git a/gcc/function.c b/gcc/function.c
index 0937844..f41982e 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -786,6 +786,10 @@ assign_stack_local (mode, size, align)
else
alignment = align / BITS_PER_UNIT;
+#ifdef FRAME_GROWS_DOWNWARD
+ frame_offset -= size;
+#endif
+
/* Round frame offset to that alignment.
We must be careful here, since FRAME_OFFSET might be negative and
division with a negative dividend isn't as well defined as we might
@@ -802,10 +806,6 @@ assign_stack_local (mode, size, align)
if (BYTES_BIG_ENDIAN && mode != BLKmode)
bigend_correction = size - GET_MODE_SIZE (mode);
-#ifdef FRAME_GROWS_DOWNWARD
- frame_offset -= size;
-#endif
-
/* If we have already instantiated virtual registers, return the actual
address relative to the frame pointer. */
if (virtuals_instantiated)
@@ -871,6 +871,10 @@ assign_outer_stack_local (mode, size, align, function)
else
alignment = align / BITS_PER_UNIT;
+#ifdef FRAME_GROWS_DOWNWARD
+ function->frame_offset -= size;
+#endif
+
/* Round frame offset to that alignment. */
#ifdef FRAME_GROWS_DOWNWARD
function->frame_offset = FLOOR_ROUND (function->frame_offset, alignment);
@@ -883,9 +887,6 @@ assign_outer_stack_local (mode, size, align, function)
if (BYTES_BIG_ENDIAN && mode != BLKmode)
bigend_correction = size - GET_MODE_SIZE (mode);
-#ifdef FRAME_GROWS_DOWNWARD
- function->frame_offset -= size;
-#endif
addr = plus_constant (virtual_stack_vars_rtx,
function->frame_offset + bigend_correction);
#ifndef FRAME_GROWS_DOWNWARD