This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Re: ia64 eh, part 20d [libjava]
- To: Tom Tromey <tromey at redhat dot com>
- Subject: Re: ia64 eh, part 20d [libjava]
- From: Richard Henderson <rth at redhat dot com>
- Date: Mon, 2 Apr 2001 16:27:43 -0700
- Cc: gcc-patches at gcc dot gnu dot org, java-patches at gcc dot gnu dot org
- References: <20010328022455.A14837@redhat.com> <874rwa3c70.fsf@creche.redhat.com>
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 ();
}