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