summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-09-07 07:34:05 +0000
committerJeff Law <law@gcc.gnu.org>1999-09-07 01:34:05 -0600
commit35d35f91e0094425492d935931224c7411c1650f (patch)
tree0d937b35ff735180dda82b98840dfb00d631ff98
parentb2bc9baf74b382bf4e45413163783f7897aef4d6 (diff)
downloadgcc-35d35f91e0094425492d935931224c7411c1650f.tar.gz
[multiple changes]
Fri Aug 27 09:36:17 1999 Andreas Schwab <schwab@suse.de> * function.c (assign_stack_temp_for_type): Fix change of Mar 5 for the fact that ALIGN is measured in bits, not bytes. Wed Aug 25 14:00:18 1999 Jason Merrill <jason@yorick.cygnus.com> * c-common.c (combine_strings): Always set TREE_CONSTANT. Bring over a couple bugfixes to the gcc-2.95 branch. From-SVN: r29155
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/c-common.c3
-rw-r--r--gcc/function.c7
3 files changed, 15 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a6009561a2a..53555eaaef6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+Tue Sep 7 01:27:21 1999 Jeffrey A Law (law@cygnus.com)
+
+ Fri Aug 27 09:36:17 1999 Andreas Schwab <schwab@suse.de>
+ * function.c (assign_stack_temp_for_type): Fix change of Mar 5 for
+ the fact that ALIGN is measured in bits, not bytes.
+
+ Wed Aug 25 14:00:18 1999 Jason Merrill <jason@yorick.cygnus.com>
+ * c-common.c (combine_strings): Always set TREE_CONSTANT.
+
Wed Aug 18 01:16:43 1999 David S. Miller <davem@redhat.com>
* config/sparc/sparc.c (sparc_block_profiler): Fix typo in Aug 2
diff --git a/gcc/c-common.c b/gcc/c-common.c
index 1ec3842010b..0c201fbe58e 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -330,7 +330,8 @@ combine_strings (strings)
= build_array_type (wide_flag ? wchar_type_node : char_type_node,
build_index_type (build_int_2 (nchars - 1, 0)));
- TREE_READONLY (value) = TREE_CONSTANT (value) = ! flag_writable_strings;
+ TREE_CONSTANT (value) = 1;
+ TREE_READONLY (value) = ! flag_writable_strings;
TREE_STATIC (value) = 1;
return value;
}
diff --git a/gcc/function.c b/gcc/function.c
index f41982ec363..5592e482e2f 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -1028,11 +1028,12 @@ assign_stack_temp_for_type (mode, size, keep, type)
So for requests which depended on the rounding of SIZE, we go ahead
and round it now. We also make sure ALIGNMENT is at least
BIGGEST_ALIGNMENT. */
- if (mode == BLKmode && align < (BIGGEST_ALIGNMENT / BITS_PER_UNIT))
+ if (mode == BLKmode && align < BIGGEST_ALIGNMENT)
abort();
p->slot = assign_stack_local (mode,
- mode == BLKmode
- ? CEIL_ROUND (size, align) : size,
+ (mode == BLKmode
+ ? CEIL_ROUND (size, align / BITS_PER_UNIT)
+ : size),
align);
p->align = align;