Bug 51477 - gcc crash: compiler error in make_edges, at flow.c:1071
Summary: gcc crash: compiler error in make_edges, at flow.c:1071
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: gcc
Version: 7.1
Hardware: i686
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: David Lawrence
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-08-10 20:00 UTC by wcbrown
Modified: 2007-04-18 16:35 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-10-05 18:37:00 UTC
Embargoed:


Attachments (Terms of Use)

Description wcbrown 2001-08-10 20:00:54 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.7 [en] (X11; I; SunOS 5.8 sun4u)

Description of problem:
gcc crashes with the error message:
          Internal compiler error in make_edges, at flow.c:1071
The line number from my source is the closing } of the last function
defined.  This file
and the program to which it belongs have been successfully compiled on a
variety of
systems including other linux/gcc distributions.

How reproducible:
Always

Steps to Reproduce:
1. N/A
2.
3.
	

Actual Results:  N/A

Expected Results:  N/A

Additional info:

gcc crashes while compiling this function, which looks pretty
unobjectionable to me.
I don't have the source for gcc, so I can't speculate on what's going on
with
"make_edges" or "flow".  I could provide the source, for the function but
as I say 
there is nothing exotic about it.   The source for the whole system is too
big to just
ship with a bug report.

Comment 1 Jakub Jelinek 2001-08-11 19:13:41 UTC
Please provide preprocessed source of the file which triggers this,
together with gcc options used. You can e.g. append -save-temps
to gcc options, run it (and recheck it really failed that way),
then you'll see an *.i or *.ii file (depending whether it is C or C++).
Please attach it here.
Otherwise there is nothing that can be done about it.

Comment 2 wcbrown 2001-08-13 13:58:18 UTC
The below code crashes with -O2 or greater opimization level.  The presence of
the label
in that position seems to trigger it ... move the label anywhere else and it
compiles fine.

void f(int n)
{
bugcauser:
  if (n != 0)
    f(n-1);
  return;
}


Comment 3 Jakub Jelinek 2001-08-20 12:39:49 UTC
This should be fixed by http://gcc.gnu.org/ml/gcc-patches/2001-04/msg00903.html
which I'll include in gcc-2.96-97.

Comment 4 Jakub Jelinek 2001-09-06 16:29:55 UTC
Actually gcc-2.96-98.

Comment 5 Vladimir Makarov 2004-10-05 18:37:00 UTC
gcc-2.96 is too old.  Its release cycle was finished long ago.  Also
Jakub wrote about fixing the bug in gcc-2.96-98.  I also can confirm
that the bug is absent in gcc-3.2.  Therefore I am closing the case. 
If  it is still important we could reopen it.
sy


Note You need to log in before you can comment on or make changes to this bug.