Patch PING: PR middle-end/21362: ICE in make_edges, at cfgbuild.c:327
Andrew Haley
aph@redhat.com
Tue May 17 09:13:00 GMT 2005
Richard Henderson writes:
> On Thu, May 05, 2005 at 05:06:22PM +0100, Andrew Haley wrote:
> > The easiest way to solve this is to check if an insn is the label for
> > a handler whenever deleting insns. An alternative might be to call
> > maybe_remove_eh_handler() from rtl_merge_blocks(), but I can't be
> > certain that will fix every possible case.
> >
> > Tested bootstrap + libjava + libstdc++ testsuites.
>
> I might prefer rtl_merge_blocks, yes. OTOH, it's possible we should
> have merged this earlier.
>
> How can I reproduce this problem? The test case in the PR is not
> self-contained...
Sure it is. The instruction in the PR is
$ gcj -findirect-dispatch -shared bork.jar # works
$ gcj -findirect-dispatch -shared -O bork.jar
org/apache/catalina/session/FileStore.java: In class
'org.apache.catalina.session.FileStore':
org/apache/catalina/session/FileStore.java: In method
'org.apache.catalina.session.FileStore.save(org.apache.catalina.Session)':
org/apache/catalina/session/FileStore.java:0: internal compiler error: in
make_edges, at cfgbuild.c:327
This is reproducible on x86_64-unknown-linux-gnu HEAD.
Andrew.
More information about the Gcc-patches
mailing list