2003-09-25 Zoltan Varga <vargaz@freemail.hu>
authorZoltan Varga <vargaz@gmail.com>
Thu, 25 Sep 2003 19:31:59 +0000 (19:31 -0000)
committerZoltan Varga <vargaz@gmail.com>
Thu, 25 Sep 2003 19:31:59 +0000 (19:31 -0000)
* interp.c (ves_exec_method): Fix warning.
(ves_exec_method_with_context): Fix CGT_UN and CLT_UN. Patch by
David Waite (mass@akuma.org).

svn path=/trunk/mono/; revision=18299

mono/interpreter/ChangeLog
mono/interpreter/interp.c

index c8df0302d1d77b771dfd19959b401ba9c811f208..82467778c5367786ed4ff5b256fb06194d33ef6b 100644 (file)
@@ -1,3 +1,9 @@
+2003-09-25  Zoltan Varga  <vargaz@freemail.hu>
+
+       * interp.c (ves_exec_method): Fix warning.
+       (ves_exec_method_with_context): Fix CGT_UN and CLT_UN. Patch by
+       David Waite (mass@akuma.org).
+
 2003-9-24  Bernie Solomon  <bernard@ugsolutions.com>
 
        * interp.c: I broke calling native delegates reinstate
index 6f2230f0b6bb9c93391dd093fdd8574871a2edee..d797a1331cd1030f60547ac8800a10cda4e52186 100644 (file)
@@ -4352,7 +4352,8 @@ array_constructed:
                                else if (sp->type == VAL_I64)
                                        result = (guint64)sp [0].data.l > (guint64)sp [1].data.l;
                                else if (sp->type == VAL_DOUBLE)
-                                       result = isnan (sp [0].data.f) || isnan (sp [1].data.f);
+                                       result = isnan (sp [0].data.f) || isnan (sp [1].data.f) ||
+                                               sp[0].data.f > sp[1].data.f;
                                else
                                        result = (mono_u)sp [0].data.nati > (mono_u)GET_NATI (sp [1]);
                                sp->type = VAL_I32;
@@ -4393,7 +4394,8 @@ array_constructed:
                                else if (sp->type == VAL_I64)
                                        result = (guint64)sp [0].data.l < (guint64)sp [1].data.l;
                                else if (sp->type == VAL_DOUBLE)
-                                       result = isnan (sp [0].data.f) || isnan (sp [1].data.f);
+                                       result = isnan (sp [0].data.f) || isnan (sp [1].data.f) ||
+                                               sp[0].data.f < sp[1].data.f;
                                else
                                        result = (mono_u)sp [0].data.nati < (mono_u)GET_NATI (sp [1]);
                                sp->type = VAL_I32;
@@ -4810,7 +4812,7 @@ ves_exec_method (MonoInvocation *frame)
                        longjmp (*context->current_env, 1);
                }
                else
-                       mono_unhandled_exception (frame->ex);
+                       mono_unhandled_exception ((MonoObject*)frame->ex);
        }
        if (context->base_frame == frame)
                TlsSetValue (thread_context_id, NULL);