]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[multiple changes]
authorJeffrey A Law <law@cygnus.com>
Tue, 7 Sep 1999 07:34:05 +0000 (07:34 +0000)
committerJeff Law <law@gcc.gnu.org>
Tue, 7 Sep 1999 07:34:05 +0000 (01:34 -0600)
        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

gcc/ChangeLog
gcc/c-common.c
gcc/function.c

index a6009561a2ad427e9ab41a9fb753283180a47484..53555eaaef6dbdb4221d1bd96d5c8fdb57d4efce 100644 (file)
@@ -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
index 1ec3842010b4a7153015275c3e37e9a424aa9c4a..0c201fbe58ee5818065a953f7bb31d554764a67a 100644 (file)
@@ -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;
 }
index f41982ec363f91805d0112cfdb2ebab8865a3206..5592e482e2f61676e43e853d3c95aeb03cdd17f9 100644 (file)
@@ -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;