aboutsummaryrefslogtreecommitdiff
path: root/libjava/exception.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/exception.cc')
-rw-r--r--libjava/exception.cc14
1 files changed, 11 insertions, 3 deletions
diff --git a/libjava/exception.cc b/libjava/exception.cc
index 4bab412d5ba..367df3618b9 100644
--- a/libjava/exception.cc
+++ b/libjava/exception.cc
@@ -19,9 +19,17 @@ details. */
#include <gcj/cni.h>
#include <jvm.h>
-// Sometimes we compile libjava without libstdc++-v3. Therefore make
-// sure we use stdlib.h's abort().
-#define gcc_unreachable() ::abort ()
+// unwind-pe.h uses std::abort(), but sometimes we compile libjava
+// without libstdc++-v3. The following hack forces it to use
+// stdlib.h's abort().
+namespace std
+{
+ static __attribute__ ((__noreturn__)) void
+ abort ()
+ {
+ ::abort ();
+ }
+}
#include "unwind.h"
struct alignment_test_struct