Bug 17414 - [4.0 Regression] ICE: insn outside basic block
Summary: [4.0 Regression] ICE: insn outside basic block
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: middle-end (show other bugs)
Version: 4.0.0
: P1 critical
Target Milestone: 4.0.0
Assignee: Not yet assigned to anyone
URL:
Keywords: EH, ice-on-valid-code, sjlj-eh
: 17382 (view as bug list)
Depends on: 17186 17382
Blocks:
  Show dependency treegraph
 
Reported: 2004-09-11 06:09 UTC by John David Anglin
Modified: 2004-09-12 17:38 UTC (History)
5 users (show)

See Also:
Host:
Target: any which uses sjlj-eh
Build:
Known to work:
Known to fail:
Last reconfirmed: 2004-09-12 02:43:41


Attachments
Preprocessed source (15.02 KB, application/octet-stream)
2004-09-11 06:10 UTC, John David Anglin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description John David Anglin 2004-09-11 06:09:56 UTC
/mnt/gnu/gcc-3.3/objdir/gcc/xgcc -shared-libgcc -B/mnt/gnu/gcc-3.3/objdir/gcc/ -
nostdinc++ -L/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/src -L/m
nt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/src/.libs -B/opt/gnu/gc
c/gcc-3.5.0/hppa2.0w-hp-hpux11.11/bin/ -B/opt/gnu/gcc/gcc-3.5.0/hppa2.0w-hp-hpux
11.11/lib/ -isystem /opt/gnu/gcc/gcc-3.5.0/hppa2.0w-hp-hpux11.11/include -isyste
m /opt/gnu/gcc/gcc-3.5.0/hppa2.0w-hp-hpux11.11/sys-include -I/mnt/gnu/gcc-3.3/gc
c/libstdc++-v3/../gcc -I/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpux11.11/libstdc++-
v3/include/hppa2.0w-hp-hpux11.11 -I/mnt/gnu/gcc-3.3/objdir/hppa2.0w-hp-hpux11.11
/libstdc++-v3/include -I/mnt/gnu/gcc-3.3/gcc/libstdc++-v3/libsupc++ -O2 -g -O2 -
g -O2 -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagno
stics-show-location=once -c ../../../../gcc/libstdc++-v3/libsupc++/eh_alloc.cc  
-fPIC -DPIC -o eh_alloc.o
../../../../gcc/libstdc++-v3/libsupc++/eh_alloc.cc: In function `void __cxxabiv1
::__cxa_free_exception(void*)':
../../../../gcc/libstdc++-v3/libsupc++/eh_alloc.cc:176: error: insn outside basi
c block
(insn 127 78 128 14 (set (reg:SI 26 %r26)
        (reg/f:SI 90 virtual-stack-vars)) -1 (nil)
    (nil))
../../../../gcc/libstdc++-v3/libsupc++/eh_alloc.cc:176: internal compiler error:
 in rtl_verify_flow_info, at cfgrtl.c:2232
Comment 1 John David Anglin 2004-09-11 06:10:56 UTC
Created attachment 7094 [details]
Preprocessed source
Comment 2 Andrew Pinski 2004-09-11 14:18:31 UTC
I almost think this is a dup of bug 17382, as all four OS's use setjmp/longjmp exceptions.
Comment 3 Andrew Pinski 2004-09-11 22:02:29 UTC
Confirmed, reduced to:
void __gthread_mutex_lock ();
void
__cxa_free_exception(void *vptr) throw()
{
  __gthread_mutex_lock ();
}
Comment 4 Andrew Pinski 2004-09-11 22:03:57 UTC
*** Bug 17382 has been marked as a duplicate of this bug. ***
Comment 5 Steven Bosscher 2004-09-11 22:38:46 UTC
A compiler build with configure --enable-sjlj-exceptions exposes this bug on 
all targets I could try it on. 
 
Comment 6 Steven Bosscher 2004-09-11 23:00:41 UTC
The problem is in except.c:sjlj_emit_function_exit 
Comment 7 Andrew Pinski 2004-09-12 02:43:40 UTC
The patch in PR 17186 allows me able to bootstrap on i686-pc-openbsd3.1, results will follow soon.
Comment 8 Andrew Pinski 2004-09-12 17:38:50 UTC
This is fixed now too by RTH's patch.