This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: egcs-980321 alphaev5-dec-osf4.0b bootstrap failure ...
- To: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Subject: Re: egcs-980321 alphaev5-dec-osf4.0b bootstrap failure ...
- From: Jim Wilson <wilson at cygnus dot com>
- Date: Wed, 01 Apr 1998 16:12:25 -0800
- cc: egcs-bugs at cygnus dot com, rth at cygnus dot com, law at cygnus dot com
I believe I found the problem.
When Richard rewrote the GEN_INT macro, he dropped the HOST_WIDE_INT cast.
Unfortunately, this causes us to get different results depending on whether
there is a prototype for gen_rtx_CONST_INT in scope. The cc built stage1
has no prototype, the gcc built stage2 has a prototype, and so they generate
different code. This is not good.
I am trying a rebuild with the following patch, but the alpha machine I am
doing it on is so slow that I won't know the result until tomorrow.
Wed Apr 1 14:07:52 1998 Jim Wilson <wilson@cygnus.com>
* rtl.h (GEN_INT): Readd HOST_WIDE_INT cast lost Jan 8.
*** rtl.h~ Fri Mar 6 06:48:57 1998
--- rtl.h Wed Apr 1 14:03:48 1998
*************** extern rtx static_chain_incoming_rtx;
*** 951,957 ****
extern rtx gen_rtx_CONST_INT PROTO((enum machine_mode, HOST_WIDE_INT));
extern rtx gen_rtx_REG PROTO((enum machine_mode, int));
! #define GEN_INT(N) gen_rtx_CONST_INT (VOIDmode, (N))
/* If HARD_FRAME_POINTER_REGNUM is defined, then a special dummy reg
--- 951,959 ----
extern rtx gen_rtx_CONST_INT PROTO((enum machine_mode, HOST_WIDE_INT));
extern rtx gen_rtx_REG PROTO((enum machine_mode, int));
! /* We need the cast here to ensure that we get the same result both with
! and without prototypes. */
! #define GEN_INT(N) gen_rtx_CONST_INT (VOIDmode, (HOST_WIDE_INT) (N))
/* If HARD_FRAME_POINTER_REGNUM is defined, then a special dummy reg