This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: libjava failed to build on Linux/x86
Bryce McKinlay wrote:
> The bug seems to occur for me going back as far as early December. In
> fact after some binary searching I currently suspect it was introduced
> with this patch:
>
> Mon Dec 3 16:16:37 CET 2001 Jan Hubicka <jh@suse.cz>
Sorry, I lied. It was actually this one:
2001-12-03 Per Bothner <per@bothner.com>
* decl.c (complete_start_java_method): Now generate
TRY_FINALLY_EXPR
instead of CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR.
* jcf-write.c (generate_bytecode_insns): Remove support for
CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR as they are no longer used.
* check-init.c (check_init): Likewise.
There doesn't seem to be anything wrong with Per's patch, however - so I
guess this is a general bug with TRY_FINALLY_EXPR that we just havn't
noticed until now.
Here is an alternate test case which reproduces the problem without a
"synchronized" keyword:
class Bug2
{
boolean x = false;
private void b() {}
void a()
{
try
{
if (x == true);
}
finally
{
b();
}
}
}
regards
Bryce.