Moses DeJong writes:
> I have run into an interesting reflection bug in Kaffe. I do not have time
> to track this one down today so I am going to post the test case in case
> someone wants to track it down. I was running on a solaris sparc
> (BigEndian) system when I got these results.

Mo-

Please try the patch below. This is sortof a guess because I didn't
fully investigate the problem, but this may fix it for you. Either
way please report back as I don't have a big endian machine handy.
Also, try the same thing with boolean and char if you can.

Thanks,
-Archie

___________________________________________________________________________
Archie Cobbs   *   Whistle Communications, Inc.  *   http://www.whistle.com


Index: support.c
===================================================================
RCS file: /home/cvspublic/kaffe/kaffe/kaffevm/support.c,v
retrieving revision 1.25
diff -u -r1.25 support.c
--- support.c   1999/02/13 19:08:18     1.25
+++ support.c   1999/03/22 06:27:27
@@ -286,12 +286,28 @@
        for (; *sig != ')'; i++, sig++) {
                call.calltype[i] = *sig;
                switch (*sig) {
-               case 'I':
                case 'Z':
+                       call.callsize[i] = 1;
+                       in[i].i = args[i].z;
+                       break;
+
                case 'S':
+                       call.callsize[i] = 1;
+                       in[i].i = args[i].s;
+                       break;
+
                case 'B':
+                       call.callsize[i] = 1;
+                       in[i].i = args[i].b;
+                       break;
+
                case 'C':
+                       call.callsize[i] = 1;
+                       in[i].i = args[i].c;
+                       break;
+
                case 'F':
+               case 'I':
                        call.callsize[i] = 1;
                        in[i] = args[i];
                        break;


Reply via email to