Bug 51477

Summary: gcc crash: compiler error in make_edges, at flow.c:1071
Product: [Retired] Red Hat Linux Reporter: wcbrown
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED NEXTRELEASE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1   
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-10-05 18:37:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

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