* contrib/.cvsignore,
[cacao.git] / tests / regression / native / testarguments.c
index 8752f327627c264e78218c73f932f0bc8ced90a4..6824b32fb5080478859e538cc75c3d742d2e496c 100644 (file)
@@ -1,8 +1,8 @@
-/* tests/native/testarguments.c - tests argument passing
+/* tests/regression/native/testarguments.c - tests argument passing
 
-   Copyright (C) 1996-2005 R. Grafl, A. Krall, C. Kruegel, C. Oates,
-   R. Obermaisser, M. Platter, M. Probst, S. Ring, E. Steiner,
-   C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich, J. Wenninger,
+   Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
+   C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
+   E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
    TU Wien
 
    This file is part of CACAO.
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
 
-   Contact: cacao@complang.tuwien.ac.at
+   Contact: cacao@cacaojvm.org
 
    Authors: Christian Thalinger
 
-   $Id: testarguments.c 3522 2005-10-28 18:07:00Z twisti $
+   Changes:
+
+   $Id: testarguments.c 4893 2006-05-08 11:03:57Z twisti $
 
 */
 
@@ -59,11 +61,7 @@ JNIEXPORT void JNICALL Java_testarguments_nlsub(JNIEnv *env, jclass clazz, jlong
 {
     jmethodID mid;
 
-#if SIZEOF_VOID_P == 4
     printf("java-native: 0x%llx 0x%llx 0x%llx 0x%llx 0x%llx 0x%llx 0x%llx 0x%llx 0x%llx 0x%llx 0x%llx 0x%llx 0x%llx 0x%llx 0x%llx\n", a, b, c, d, e, f, g, h, i, j, k, l, m, n, o);
-#else
-    printf("java-native: 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx\n", a, b, c, d, e, f, g, h, i, j, k, l, m, n, o);
-#endif
     fflush(stdout);
 
     mid = (*env)->GetStaticMethodID(env, clazz, "jlsub", "(JJJJJJJJJJJJJJJ)V");
@@ -127,7 +125,6 @@ JNIEXPORT void JNICALL Java_testarguments_ndsub(JNIEnv *env, jclass clazz, jdoub
 
     printf("java-native:");
 
-#if SIZEOF_VOID_P == 4
     x.d = a; printf(" 0x%llx", x.l);
     x.d = b; printf(" 0x%llx", x.l);
     x.d = c; printf(" 0x%llx", x.l);
@@ -143,23 +140,6 @@ JNIEXPORT void JNICALL Java_testarguments_ndsub(JNIEnv *env, jclass clazz, jdoub
     x.d = m; printf(" 0x%llx", x.l);
     x.d = n; printf(" 0x%llx", x.l);
     x.d = o; printf(" 0x%llx", x.l);
-#else
-    x.d = a; printf(" 0x%lx", x.l);
-    x.d = b; printf(" 0x%lx", x.l);
-    x.d = c; printf(" 0x%lx", x.l);
-    x.d = d; printf(" 0x%lx", x.l);
-    x.d = e; printf(" 0x%lx", x.l);
-    x.d = f; printf(" 0x%lx", x.l);
-    x.d = g; printf(" 0x%lx", x.l);
-    x.d = h; printf(" 0x%lx", x.l);
-    x.d = i; printf(" 0x%lx", x.l);
-    x.d = j; printf(" 0x%lx", x.l);
-    x.d = k; printf(" 0x%lx", x.l);
-    x.d = l; printf(" 0x%lx", x.l);
-    x.d = m; printf(" 0x%lx", x.l);
-    x.d = n; printf(" 0x%lx", x.l);
-    x.d = o; printf(" 0x%lx", x.l);
-#endif
 
     printf("\n");
     fflush(stdout);
@@ -167,7 +147,49 @@ JNIEXPORT void JNICALL Java_testarguments_ndsub(JNIEnv *env, jclass clazz, jdoub
     mid = (*env)->GetStaticMethodID(env, clazz, "jdsub", "(DDDDDDDDDDDDDDD)V");
 
     if (mid == 0) {
-        printf("native: couldn't find jfsub\n");
+        printf("native: couldn't find jdsub\n");
+        return;
+    }
+
+    (*env)->CallStaticVoidMethod(env, clazz, mid, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o);
+}
+
+
+JNIEXPORT void JNICALL Java_testarguments_nmsub(JNIEnv *env, jclass clazz, jint a, jlong b, jfloat c, jdouble d, jint e, jlong f, jfloat g, jdouble h, jint i, jlong j, jfloat k, jdouble l, jint m, jlong n, jfloat o)
+{
+    jmethodID mid;
+    union {
+      jint i;
+      jlong l;
+      jfloat f;
+      jdouble d;
+    } x;
+
+    printf("java-native:");
+
+    printf(" 0x%x", a);
+    printf(" 0x%llx", b);
+    x.f = c; printf(" 0x%x", x.i);
+    x.d = d; printf(" 0x%llx", x.l);
+    printf(" 0x%x", e);
+    printf(" 0x%llx", f);
+    x.f = g; printf(" 0x%x", x.i);
+    x.d = h; printf(" 0x%llx", x.l);
+    printf(" 0x%x", i);
+    printf(" 0x%llx", j);
+    x.f = k; printf(" 0x%x", x.i);
+    x.d = l; printf(" 0x%llx", x.l);
+    printf(" 0x%x", m);
+    printf(" 0x%llx", n);
+    x.f = o; printf(" 0x%x", x.i);
+
+    printf("\n");
+    fflush(stdout);
+
+    mid = (*env)->GetStaticMethodID(env, clazz, "jmsub", "(IJFDIJFDIJFDIJF)V");
+
+    if (mid == 0) {
+        printf("native: couldn't find jmsub\n");
         return;
     }