aboutsummaryrefslogtreecommitdiff
path: root/libjava/gcj/javaprims.h
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/gcj/javaprims.h')
-rw-r--r--libjava/gcj/javaprims.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/libjava/gcj/javaprims.h b/libjava/gcj/javaprims.h
index 622db0c79f5..a66bf29c2fe 100644
--- a/libjava/gcj/javaprims.h
+++ b/libjava/gcj/javaprims.h
@@ -11,6 +11,9 @@ details. */
#ifndef __JAVAPRIMS_H__
#define __JAVAPRIMS_H__
+// Force C++ compiler to use Java-style exceptions.
+#pragma GCC java_exceptions
+
// FIXME: this is a hack until we get a proper gcjh.
// It is needed to work around system header files that define TRUE
// and FALSE.
@@ -39,7 +42,6 @@ extern "Java"
{
namespace io
{
- class BlockDataException;
class BufferedInputStream;
class BufferedOutputStream;
class BufferedReader;
@@ -233,10 +235,12 @@ extern "Java"
class ArrayList;
class Arrays;
class Arrays$ListImpl;
+ class BasicMapEntry;
class BitSet;
class Calendar;
class Collection;
class Collections;
+ class Collections$ReverseComparator;
class Collections$SynchronizedCollection;
class Collections$SynchronizedIterator;
class Collections$SynchronizedList;
@@ -302,6 +306,12 @@ extern "Java"
class Timer$TaskQueue;
class TimerTask;
class TooManyListenersException;
+ class TreeMap;
+ class TreeMap$Node;
+ class TreeMap$SubMap;
+ class TreeMap$TreeIterator;
+ class TreeMap$VerifyResult;
+ class TreeSet;
class Vector;
class WeakHashMap;
class WeakHashMap$Entry;
@@ -368,8 +378,7 @@ extern "C" jstring _Jv_NewStringLatin1(const char*, jsize)
extern "C" jsize _Jv_GetStringUTFLength (jstring);
extern "C" jsize _Jv_GetStringUTFRegion (jstring, jsize, jsize, char *);
-extern "C" void _Jv_Throw (void *) __attribute__ ((__noreturn__));
-extern "C" void _Jv_Sjlj_Throw (void *) __attribute__ ((__noreturn__));
+extern "C" void _Jv_Throw (jthrowable) __attribute__ ((__noreturn__));
extern "C" void* _Jv_Malloc (jsize) __attribute__((__malloc__));
extern "C" void* _Jv_Realloc (void *, jsize);
extern "C" void _Jv_Free (void*);