Author: robertj
Date: 2007-12-09 12:43:59 -0500 (Sun, 09 Dec 2007)
New Revision: 91007

Added:
   trunk/mono/mono/tests/bug-323114.cs
Modified:
   trunk/mono/mono/mini/ChangeLog
   trunk/mono/mono/mini/mini-x86.c
   trunk/mono/mono/tests/ChangeLog
   trunk/mono/mono/tests/Makefile.am
Log:
In mono/mini:
2007-12-09  Robert Jordan  <[EMAIL PROTECTED]>

        * mini-x86.c (mono_arch_emit_epilog):
        Consider all kinds of 64-bit types. Fixes #323114.

In mono/tests:
2007-12-09  Robert Jordan  <[EMAIL PROTECTED]>

        * bug-323114.cs: Add test case for #323114.



Modified: trunk/mono/mono/mini/ChangeLog
===================================================================
--- trunk/mono/mono/mini/ChangeLog      2007-12-09 17:41:19 UTC (rev 91006)
+++ trunk/mono/mono/mini/ChangeLog      2007-12-09 17:43:59 UTC (rev 91007)
@@ -1,3 +1,8 @@
+2007-12-09  Robert Jordan  <[EMAIL PROTECTED]>
+
+       * mini-x86.c (mono_arch_emit_epilog):
+       Consider all kinds of 64-bit types. Fixes #323114.
+
 2007-12-08  Zoltan Varga  <[EMAIL PROTECTED]>
 
        * tramp-amd64.c (mono_arch_create_trampoline_code): Clean up the code a 
bit.

Modified: trunk/mono/mono/mini/mini-x86.c
===================================================================
--- trunk/mono/mono/mini/mini-x86.c     2007-12-09 17:41:19 UTC (rev 91006)
+++ trunk/mono/mono/mini/mini-x86.c     2007-12-09 17:43:59 UTC (rev 91007)
@@ -3914,7 +3914,7 @@
                        x86_mov_mem_reg (code, lmf_tls_offset, X86_ECX, 4);
                } else {
                        /* Find a spare register */
-                       switch (sig->ret->type) {
+                       switch (mono_type_get_underlying_type (sig->ret)->type) 
{
                        case MONO_TYPE_I8:
                        case MONO_TYPE_U8:
                                prev_lmf_reg = X86_EDI;

Modified: trunk/mono/mono/tests/ChangeLog
===================================================================
--- trunk/mono/mono/tests/ChangeLog     2007-12-09 17:41:19 UTC (rev 91006)
+++ trunk/mono/mono/tests/ChangeLog     2007-12-09 17:43:59 UTC (rev 91007)
@@ -1,3 +1,7 @@
+2007-12-09  Robert Jordan  <[EMAIL PROTECTED]>
+
+       * bug-323114.cs: Add test case for #323114.
+
 2007-12-07  Zoltan Varga  <[EMAIL PROTECTED]>
 
        * pinvoke2.cs: Fix the names of two tests.

Modified: trunk/mono/mono/tests/Makefile.am
===================================================================
--- trunk/mono/mono/tests/Makefile.am   2007-12-09 17:41:19 UTC (rev 91006)
+++ trunk/mono/mono/tests/Makefile.am   2007-12-09 17:43:59 UTC (rev 91007)
@@ -215,6 +215,7 @@
        bug-78653.cs            \
        bug-78656.cs            \
        bug-77127.cs            \
+       bug-323114.cs           \
        bug-331958.cs           \
        interlocked.cs          \
        cross-domain.cs         \

Added: trunk/mono/mono/tests/bug-323114.cs
===================================================================
--- trunk/mono/mono/tests/bug-323114.cs 2007-12-09 17:41:19 UTC (rev 91006)
+++ trunk/mono/mono/tests/bug-323114.cs 2007-12-09 17:43:59 UTC (rev 91007)
@@ -0,0 +1,23 @@
+using System;
+
+public enum Enum64 : long
+{
+       A = Int64.MaxValue,
+}
+
+delegate Enum64 EnumDelegate (Enum64 value);
+
+class Test
+{
+       static Enum64 Method (Enum64 value)
+       {
+               return value;
+       }
+
+       static int Main ()
+       {
+               EnumDelegate d = new EnumDelegate (Method);
+               Enum64 r = d.EndInvoke (d.BeginInvoke (Enum64.A, null, null));
+               return r == Enum64.A ? 0 : 1;
+       }
+}


Property changes on: trunk/mono/mono/tests/bug-323114.cs
___________________________________________________________________
Name: svn:eol-style
   + native

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to