varasm.c (output_constant): Pass the minimum of the two sizes to assemble_integer.
authorEric Botcazou <ebotcazou@act-europe.fr>
Wed, 26 May 2004 05:56:16 +0000 (07:56 +0200)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Wed, 26 May 2004 05:56:16 +0000 (05:56 +0000)
* varasm.c (output_constant) <INTEGER_TYPE>: Pass the minimum
of the two sizes to assemble_integer.

From-SVN: r82278

gcc/ChangeLog
gcc/varasm.c

index 31be26702ab4ff8cd542d47f93c05fbfcd903c4c..ee84a899ff1ee3512a4b1834e8bbce961ad41da7 100644 (file)
@@ -1,3 +1,8 @@
+2004-05-26  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       * varasm.c (output_constant) <INTEGER_TYPE>: Pass the minimum
+       of the two sizes to assemble_integer.
+
 2004-05-25  Paul Brook  <paul@codesourcery.com>
 
        * config/arm/arm.c (thumb_exit, thumb_unexpanded_epilogue): Remove
index beace4ed8d46ad4bdcfd50d06bcafceaf3ae8d06..72a51a40c809fb4746e257fa5ea215101a1b9cbd 100644 (file)
@@ -3564,7 +3564,7 @@ output_constant (tree exp, unsigned HOST_WIDE_INT size, unsigned int align)
     }
 
   /* Now output the underlying data.  If we've handling the padding, return.
-     Otherwise, break and ensure THISSIZE is the size written.  */
+     Otherwise, break and ensure SIZE is the size written.  */
   switch (code)
     {
     case CHAR_TYPE:
@@ -3576,7 +3576,7 @@ output_constant (tree exp, unsigned HOST_WIDE_INT size, unsigned int align)
     case OFFSET_TYPE:
       if (! assemble_integer (expand_expr (exp, NULL_RTX, VOIDmode,
                                           EXPAND_INITIALIZER),
-                             size, align, 0))
+                             MIN (size, thissize), align, 0))
        error ("initializer for integer value is too complicated");
       break;