Author: martin
Date: 2005-04-19 13:55:36 -0400 (Tue, 19 Apr 2005)
New Revision: 43275

Modified:
   trunk/mcs/gmcs/ChangeLog
   trunk/mcs/gmcs/iterators.cs
   trunk/mcs/gmcs/typemanager.cs
Log:
**** Merged r42898 from MCS ****


Modified: trunk/mcs/gmcs/ChangeLog
===================================================================
--- trunk/mcs/gmcs/ChangeLog    2005-04-19 17:51:35 UTC (rev 43274)
+++ trunk/mcs/gmcs/ChangeLog    2005-04-19 17:55:36 UTC (rev 43275)
@@ -1,3 +1,8 @@
+2005-04-13  Raja R Harinath  <[EMAIL PROTECTED]>
+
+       * typemanager.cs (IsUnmanagedType): Restore !IsValueType check
+       removed below.
+
 2005-04-13  Atsushi Enomoto  <[EMAIL PROTECTED]>
 
        * doc.cs : detect ambiguous reference to overloaded members.

Modified: trunk/mcs/gmcs/iterators.cs
===================================================================
--- trunk/mcs/gmcs/iterators.cs 2005-04-19 17:51:35 UTC (rev 43274)
+++ trunk/mcs/gmcs/iterators.cs 2005-04-19 17:55:36 UTC (rev 43275)
@@ -45,8 +45,6 @@
                                Report.Error (1625, loc, "Cannot yield in the 
body of a " +
                                              "finally clause");
                                return false;
-                       } else {
-                               Console.WriteLine ("Not in finally");
                        }
                        
                        if (ec.InUnsafe) {

Modified: trunk/mcs/gmcs/typemanager.cs
===================================================================
--- trunk/mcs/gmcs/typemanager.cs       2005-04-19 17:51:35 UTC (rev 43274)
+++ trunk/mcs/gmcs/typemanager.cs       2005-04-19 17:55:36 UTC (rev 43275)
@@ -1659,15 +1659,19 @@
                if (t.IsArray)
                        return IsUnmanagedType (t.GetElementType ());
 
+               if (!IsValueType (t))
+                       return false;
+
                if (t is TypeBuilder){
                        TypeContainer tc = LookupTypeContainer (t);
-                       
                        if (tc.Fields == null)
                                return true;
                        foreach (Field f in tc.Fields){
                                // Avoid using f.FieldBuilder: f.Define () may 
not yet have been invoked.
                                if ((f.ModFlags & Modifiers.STATIC) != 0)
                                        continue;
+                               if (f.MemberType == null)
+                                       continue;
                                if (!IsUnmanagedType (f.MemberType))
                                        return false;
                        }

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

Reply via email to