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.
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.
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; }
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.
Actually gcc-2.96-98.
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