diff options
author | Jeff Law <law@gcc.gnu.org> | 1999-05-20 16:22:34 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-05-20 16:22:34 -0600 |
commit | 1474e30354b1a0246bb809b1facf1a3b9d4604a9 (patch) | |
tree | 417ae3edbc2e199490a83bc4e074428aec9ff1b1 | |
parent | d08940b2c252d872b47eeb4ba6939ffd987da65e (diff) | |
download | gcc-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/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/Makefile.in | 2 | ||||
-rw-r--r-- | gcc/function.c | 15 |
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 |