OSDN Git Service

2003-02-28 Joel Sherrill <joel@OARcorp.com>
[pf3gnuchains/gcc-fork.git] / libjava / exception.cc
index 5d1f288..d983f98 100644 (file)
@@ -1,6 +1,6 @@
 // Functions for Exception Support for Java.
 
-/* Copyright (C) 1998, 1999, 2001  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -23,7 +23,8 @@ details.  */
 // stdlib.h's abort().
 namespace std
 {
-  void abort ()
+  static __attribute__ ((__noreturn__)) void
+  abort ()
   {
     ::abort ();
   }
@@ -337,7 +338,7 @@ PERSONALITY_FUNCTION (int version,
              // The catch_type is either a (java::lang::Class*) or
              // is one more than a (Utf8Const*).
              if ((size_t)catch_type & 1)
-               catch_type = _Jv_FindClass ((Utf8Const*)catch_type - 1, NULL);
+               catch_type = _Jv_FindClass ((Utf8Const*)((size_t)catch_type ^ 1), NULL);
 
              if (_Jv_IsInstanceOf (xh->value, catch_type))
                {