This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]