This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PR 6212




--On Monday, May 06, 2002 05:49:22 PM -0400 Daniel Jacobowitz 
<drow@mvista.com> wrote:

> On Mon, May 06, 2002 at 08:52:07AM -0700, Mark Mitchell wrote:
>>
>> > I get some strange error messages when I try to run the G++ testsuite,
>> > most likely because there's something I haven't fully recovered from
>> > backups yet.  But it bootstraps and the C test are fine.
>>
>> That's good news, but this close to the release, "probably" isn't
>> good enough.
>>
>> Please figure out what's wrong with the G++ tests.
>
> Whatever it is, it is most likely local to Richard's setup.  His patch
> has no effect on the C, C++, ObjC, Fortran, or Java testsuites on
> i686-pc-linux-gnu, at least.

Kenner sent me this patch as his complete fix for this problem, indicating
that he was not likely to get his machine set up so that it worked soon.

I can verify the patch on GNU/Linux, too.  Is there someone who would
care to try this on a MIPS or Alpha box to confirm that it works OK
there?  (Alpha was also affected by this problem.)

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com

*** expr.c	16 Apr 2002 06:03:36 -0000	1.423.2.18
--- expr.c	6 May 2002 10:43:38 -0000
*************** static rtx store_field		PARAMS ((rtx, HO
*** 147,151 ****
  					 int));
  static rtx var_rtx		PARAMS ((tree));
! static HOST_WIDE_INT highest_pow2_factor PARAMS ((tree));
  static int is_aligning_offset	PARAMS ((tree, tree));
  static rtx expand_increment	PARAMS ((tree, int, int));
--- 147,151 ----
  					 int));
  static rtx var_rtx		PARAMS ((tree));
! static unsigned HOST_WIDE_INT highest_pow2_factor PARAMS ((tree));
  static int is_aligning_offset	PARAMS ((tree, tree));
  static rtx expand_increment	PARAMS ((tree, int, int));
*************** check_max_integer_computation_mode (exp)
*** 5844,5852 ****
     This is used in updating alignment of MEMs in array references.  */

! static HOST_WIDE_INT
  highest_pow2_factor (exp)
       tree exp;
  {
!   HOST_WIDE_INT c0, c1;

    switch (TREE_CODE (exp))
--- 5844,5852 ----
     This is used in updating alignment of MEMs in array references.  */

! static unsigned HOST_WIDE_INT
  highest_pow2_factor (exp)
       tree exp;
  {
!   unsigned HOST_WIDE_INT c0, c1;

    switch (TREE_CODE (exp))
*************** highest_pow2_factor (exp)
*** 5903,5906 ****
--- 5903,5912 ----
        c1 = highest_pow2_factor (TREE_OPERAND (exp, 2));
        return MIN (c0, c1);
+
+     case PARM_DECL:  case VAR_DECL:  case RESULT_DECL:
+       /* If this is an object that is a pointer type, assume it is
+ 	 properly aligned.  */
+       if (POINTER_TYPE_P (TREE_TYPE (exp)))
+ 	return TYPE_ALIGN (TREE_TYPE (TREE_TYPE (exp)));

      default:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]