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