aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.0/libjava/testsuite/libjava.jni/invocation/PR16923.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.0/libjava/testsuite/libjava.jni/invocation/PR16923.c')
-rw-r--r--gcc-4.4.0/libjava/testsuite/libjava.jni/invocation/PR16923.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/gcc-4.4.0/libjava/testsuite/libjava.jni/invocation/PR16923.c b/gcc-4.4.0/libjava/testsuite/libjava.jni/invocation/PR16923.c
new file mode 100644
index 000000000..881738b61
--- /dev/null
+++ b/gcc-4.4.0/libjava/testsuite/libjava.jni/invocation/PR16923.c
@@ -0,0 +1,43 @@
+#include <assert.h>
+#include <jni.h>
+
+union env_union
+{
+ void *void_env;
+ JNIEnv *jni_env;
+};
+
+int
+main (int argc, const char** argv)
+{
+ union env_union tmp;
+ JNIEnv* env;
+ JavaVM* jvm;
+ JavaVMInitArgs vm_args;
+ JavaVMOption options[1];
+ jclass class_id;
+ jmethodID method_id;
+ jint result;
+
+ options[0].optionString = "-DPR16923=optionReceived";
+
+ vm_args.version = JNI_VERSION_1_2;
+ vm_args.ignoreUnrecognized = JNI_TRUE;
+ vm_args.options = options;
+ vm_args.nOptions = 1;
+
+ result = JNI_CreateJavaVM (&jvm, &tmp.void_env, &vm_args);
+ assert (result >= 0);
+
+ env = tmp.jni_env;
+
+ class_id = (*env)->FindClass (env, "PR16923");
+ assert (class_id);
+
+ method_id = (*env)->GetStaticMethodID (env, class_id, "printIt", "()V");
+ assert (method_id);
+
+ (*env)->CallStaticVoidMethod (env, class_id, method_id, NULL);
+
+ return 0;
+}