This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Unreachable EH region? (PR 6823)
- From: Bryce McKinlay <bryce at waitaki dot otago dot ac dot nz>
- To: gcc at gcc dot gnu dot org
- Date: Mon, 27 May 2002 19:57:09 +1200
- Subject: Unreachable EH region? (PR 6823)
I've just been looking at Java PR 6823:
class Demo
{
final synchronized void foo() { return; }
void bar()
{
foo();
synchronized (this) { return; }
}
}
The synchronized keyword basically expands to a try/finally and
MonitorEnter/MonitorExit runtime calls.
Compiling this test fails in resolve_fixup_regions because there is a
null entry in the region_array. collect_eh_region_array does not
encounter any region number 2 while its traversing through the
function's region tree.
Is this a bug with except.c or is something feeding it broken eh regions?
The bug only occurs when the call to "foo" gets inlined. Could the RTL
inliner (still used by gcj) be screwing things up?
regards
Bryce.