This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


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

Re: ia64 eh, part 20d [libjava]


On Fri, Mar 30, 2001 at 07:27:15PM -0700, Tom Tromey wrote:
> Could you change this to remove the compat-include case?
> We only needed that when libgcj could be built in a separate tree from
> gcc.  I don't see any need to continue to support that.
[...]
> I think abort() here is reasonable.  You can remove the FIXME.

I've applied the following to address these comments.

Thanks for the review.


r~


        * configure.in (GCC_UNWIND_INCLUDE): Assume we're built within
        the same tree as gcc.
        * configure: Rebuilt.

        * exception.cc (_Jv_Throw): Clarify commentary.

Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/libjava/configure.in,v
retrieving revision 1.77
diff -c -p -d -r1.77 configure.in
*** configure.in	2001/04/01 11:16:39	1.77
--- configure.in	2001/04/02 23:24:32
*************** CANADIAN=no
*** 381,399 ****
  NULL_TARGET=no
  NATIVE=yes
  
! # Find unwind.h and support headers.  If we're in the tree with
! # gcc, then look there.  Otherwise look in compat-include.  If all else
! # fails, just hope the user has set things up somehow.
! echo "probing $srcdir/../gcc/unwind.h"
! if test -r $srcdir/../gcc/unwind.h; then
!    GCC_UNWIND_INCLUDE='-I$(top_srcdir)/../gcc'
! else
!    if test -d $srcdir/../compat-include; then
!       GCC_UNWIND_INCLUDE='-I$(top_srcdir)/../compat-include'
!    else
!       GCC_UNWIND_INCLUDE=
!    fi
! fi
  
  if test -n "${with_cross_host}"; then
     # We are being configured with a cross compiler.  AC_REPLACE_FUNCS
--- 381,388 ----
  NULL_TARGET=no
  NATIVE=yes
  
! # We're in the tree with gcc, and need to include some of its headers.
! GCC_UNWIND_INCLUDE='-I$(top_srcdir)/../gcc'
  
  if test -n "${with_cross_host}"; then
     # We are being configured with a cross compiler.  AC_REPLACE_FUNCS
Index: exception.cc
===================================================================
RCS file: /cvs/gcc/gcc/libjava/exception.cc,v
retrieving revision 1.12
diff -c -p -d -r1.12 exception.cc
*** exception.cc	2001/03/28 11:04:27	1.12
--- exception.cc	2001/04/02 23:24:32
*************** _Jv_Throw (jthrowable value)
*** 104,117 ****
    code = _Unwind_RaiseException (&xh->unwindHeader);
  #endif
  
!   /* FIXME: If code == _URC_END_OF_STACK, then we reached top of
!      stack without finding a handler for the exception.  I seem to
!      recall that Java has specific rules to handle this. 
! 
!      If code is something else, we encountered some sort of heinous
!      lossage, from which we could not recover.  As is the way of such
!      things we'll almost certainly have crashed before now, rather
!      than actually being able to diagnose the problem.  */
    abort ();
  }
  
--- 104,116 ----
    code = _Unwind_RaiseException (&xh->unwindHeader);
  #endif
  
!   /* If code == _URC_END_OF_STACK, then we reached top of stack without
!      finding a handler for the exception.  Since each thread is run in
!      a try/catch, this oughtn't happen.  If code is something else, we
!      encountered some sort of heinous lossage from which we could not
!      recover.  As is the way of such things, almost certainly we will have
!      crashed before now, rather than actually being able to diagnose the
!      problem.  */
    abort ();
  }
  


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