Bug 21168 - [4.1 Regression] bootstrap failed on Linux/ia64
Summary: [4.1 Regression] bootstrap failed on Linux/ia64
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: rtl-optimization (show other bugs)
Version: 4.1.0
: P2 normal
Target Milestone: 4.1.0
Assignee: Nathan Sidwell
URL:
Keywords: build, ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2005-04-23 01:00 UTC by H.J. Lu
Modified: 2005-04-23 14:32 UTC (History)
2 users (show)

See Also:
Host: ia64-unknown-linux-gnu
Target: ia64-unknown-linux-gnu
Build: ia64-unknown-linux-gnu
Known to work:
Known to fail:
Last reconfirmed: 2005-04-23 08:48:44


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2005-04-23 01:00:12 UTC
This patch

http://gcc.gnu.org/ml/gcc-patches/2005-04/msg02301.html

caused

/net/gnu-9/export/gnu/src/gcc-next/gcc/gcc/config/ia64/crtfastmath.c: In
function \uffff\uffff\uffff__ia64_set_fast_math
/net/gnu-9/export/gnu/src/gcc-next/gcc/gcc/config/ia64/crtfastmath.c:37:
internal compiler error: in schedule_block, at haifa-sched.c:2111
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[4]: *** [crtfastmath.o] Error 1
make[4]: *** Waiting for unfinished jobs....
Comment 1 Nathan Sidwell 2005-04-23 08:47:26 UTC
Subject: Re:  New: bootstrap failed on Linux/ia64

hjl at lucon dot org wrote:
> This patch
> 
> http://gcc.gnu.org/ml/gcc-patches/2005-04/msg02301.html
> 
> caused
> 
> /net/gnu-9/export/gnu/src/gcc-next/gcc/gcc/config/ia64/crtfastmath.c: In
> function \uffff\uffff\uffff__ia64_set_fast_math
> /net/gnu-9/export/gnu/src/gcc-next/gcc/gcc/config/ia64/crtfastmath.c:37:
> internal compiler error: in schedule_block, at haifa-sched.c:2111

oops.  de morgan snafu.  I must have been confused by the original form
which used inconsistent != notation :)  It used to be
!   if (current_sched_info->queue_must_finish_empty && q_size != 0)
!       abort ();
and this patch correctly implements that as
!   gcc_assert (!current_sched_info->queue_must_finish_empty || !q_size);

Fixed with the attached patch, committed as obvious

nathan

2005-04-23  Nathan Sidwell  <nathan@codesourcery.com>

	* haifa-sched.c (schedule_block): Fix thinko in previous
	assertification patch.

Index: haifa-sched.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/haifa-sched.c,v
retrieving revision 1.254
diff -c -3 -p -r1.254 haifa-sched.c
*** haifa-sched.c	22 Apr 2005 16:14:55 -0000	1.254
--- haifa-sched.c	23 Apr 2005 08:43:31 -0000
*************** schedule_block (int b, int rgn_n_insns)
*** 2108,2114 ****
  
    /* Sanity check -- queue must be empty now.  Meaningless if region has
       multiple bbs.  */
!   gcc_assert (!current_sched_info->queue_must_finish_empty || q_size);
  
    /* Update head/tail boundaries.  */
    head = NEXT_INSN (prev_head);
--- 2108,2114 ----
  
    /* Sanity check -- queue must be empty now.  Meaningless if region has
       multiple bbs.  */
!   gcc_assert (!current_sched_info->queue_must_finish_empty || !q_size);
  
    /* Update head/tail boundaries.  */
    head = NEXT_INSN (prev_head);
Comment 2 Nathan Sidwell 2005-04-23 08:48:58 UTC
2005-04-23  Nathan Sidwell  <nathan@codesourcery.com>

	* haifa-sched.c (schedule_block): Fix thinko in previous
	assertification patch.