aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.0/libjava/testsuite/libjava.lang/invokethrow.java
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.0/libjava/testsuite/libjava.lang/invokethrow.java')
-rw-r--r--gcc-4.4.0/libjava/testsuite/libjava.lang/invokethrow.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/gcc-4.4.0/libjava/testsuite/libjava.lang/invokethrow.java b/gcc-4.4.0/libjava/testsuite/libjava.lang/invokethrow.java
new file mode 100644
index 000000000..8cf3ca0a5
--- /dev/null
+++ b/gcc-4.4.0/libjava/testsuite/libjava.lang/invokethrow.java
@@ -0,0 +1,35 @@
+// Test a `throw' across a libffi call.
+
+import java.lang.reflect.*;
+
+public class invokethrow
+{
+ public static void doit () throws Throwable
+ {
+ throw new Throwable ("hi!");
+ }
+
+ public static void main (String[] args)
+ {
+ Class k = invokethrow.class;
+ try
+ {
+ Class[] noargs = new Class[0];
+ Method m = k.getMethod ("doit", noargs);
+ m.invoke (null, null);
+ }
+ catch (InvocationTargetException x1)
+ {
+ System.out.println (x1.getTargetException ().getMessage ());
+ }
+ catch (UnsupportedOperationException _)
+ {
+ // Some systems don't support invocation, in which case we
+ // will fake a passing result.
+ System.out.println ("hi!");
+ }
+ catch (Throwable _)
+ {
+ }
+ }
+}