Compilation of the attached file fails with gcc 3.3.2. 2.95 works fine. gcc -v yields the following output (it's the packaged version from Debian GNU/Linux): Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.2/specs Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux Thread model: posix gcc version 3.3.2 20030908 (Debian prerelease) The error message reads: lars@hydra:~/praat/fon$ gcc -DUNIX -I /usr/X11R6/include -Wimplicit -Wreturn-type -Wunused -Wuninitialized -O -I ../sys -I ../dwsys -I ../dwtools -I ../LPC -I ../fon -c -o ManipulationEditor.o ManipulationEditor.c ManipulationEditor.c: In function `cb_addPitchPointAtSlice': ManipulationEditor.c:298: internal compiler error: in final_scan_insn, at final.c:2799 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Created attachment 4889 [details] bzip2'ed preprocessed failing source file
Confirmed on the 3.3 branch, a regression from GCC 3.2.3.
Here's a reduced example that crashes on i686-pc-linux-gnu when compiled with "-O" (it *does* compile with "-O2"). ======================================= void foo (double); void bar (double x, double y) { foo (x); if (y) x = y ? 0 : 1/y; else if (y) x = y < 1 ? 1 : y; else x = 1/y < 1 ? 1 : x; foo (x); } ======================================= According to Phil's regression hunter, the regression was introduced in February: : Search converges between 2003-02-26-3.3 (#68) and 2003-02-28-3.3 (#69).
Fixing.
Subject: Re: [3.3 regression] ICE in final_scan_insn On Mon, 2003-10-06 at 09:54, ebotcazou at gcc dot gnu dot org wrote: > PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org. > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12510 > > > ebotcazou at gcc dot gnu dot org changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > AssignedTo|unassigned at gcc dot gnu |ebotcazou at gcc dot gnu dot > |dot org |org > Status|NEW |ASSIGNED > > > ------- Additional Comments From ebotcazou at gcc dot gnu dot org 2003-10-06 06:54 ------- > Fixing.
Patch: http://gcc.gnu.org/ml/gcc-patches/2003-10/msg00538.html
I'd actually feel more comfortable with Jakub's patch since it's received a fair amount of testing. I'd approve a backport of his patch. Are you willing to test that out?
They are equivalent, but I understand your position so I'll do the backport.
Backported patch: http://gcc.gnu.org/ml/gcc-patches/2003-10/msg00636.html
Eric, please check this in and close the PR. Thanks!
Subject: Bug 12510 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_3-branch Changes by: ebotcazou@gcc.gnu.org 2003-10-09 20:53:40 Modified files: gcc : ChangeLog toplev.c gcc/testsuite : ChangeLog Added files: gcc/testsuite/gcc.dg: 20031009-1.c Log message: PR optimization/12510 Backport from mainline: 2003-09-08 Jakub Jelinek <jakub@redhat.com> * toplev.c (rest_of_compilation): Call split_all_insns before regstack if optimizing but not scheduling after reload. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.16114.2.775&r2=1.16114.2.776 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/toplev.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.690.2.22&r2=1.690.2.23 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.2261.2.303&r2=1.2261.2.304 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20031009-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=NONE&r2=1.1.2.1
Backported patch applied.
*** Bug 12565 has been marked as a duplicate of this bug. ***
*** Bug 12621 has been marked as a duplicate of this bug. ***