2002-10-10 Martin Baulig <martin@gnome.org>
authorMartin Baulig <martin@novell.com>
Thu, 10 Oct 2002 20:26:32 +0000 (20:26 -0000)
committerMartin Baulig <martin@novell.com>
Thu, 10 Oct 2002 20:26:32 +0000 (20:26 -0000)
* expression.cs (ArrayAccess.EmitStoreOpcode): Reverted the patch
from bug #31834, see the bug report for a testcase which is
miscompiled.

svn path=/trunk/mcs/; revision=8146

mcs/mcs/ChangeLog
mcs/mcs/expression.cs

index 0a479717beb17ce11d54d5b0ca8686e6ccc680c7..0e83eaca00ea23e74b9c618b3afa8aa4ccefbe5e 100755 (executable)
@@ -1,3 +1,9 @@
+2002-10-10  Martin Baulig  <martin@gnome.org>
+
+       * expression.cs (ArrayAccess.EmitStoreOpcode): Reverted the patch
+       from bug #31834, see the bug report for a testcase which is
+       miscompiled.
+
 2002-10-10  Martin Baulig  <martin@gnome.org>
 
        * codegen.cs (EmitContext.Breaks): Removed, we're now using the
index 2f2807da23f45ed46316b6106fd6ff1dd5cb5a18..0e0b242a01347d9cf5537c31d6d97a7a2e7ffb11 100755 (executable)
@@ -6095,8 +6095,8 @@ namespace Mono.CSharp {
                {
                        t = TypeManager.TypeToCoreType (t);
                        if (TypeManager.IsEnumType (t) && t != TypeManager.enum_type)
-                               StoreFromPtr (ig, t);
-                       else if (t == TypeManager.byte_type || t == TypeManager.sbyte_type ||
+                               t = TypeManager.EnumToUnderlying (t);
+                       if (t == TypeManager.byte_type || t == TypeManager.sbyte_type ||
                            t == TypeManager.bool_type)
                                ig.Emit (OpCodes.Stelem_I1);
                        else if (t == TypeManager.short_type || t == TypeManager.ushort_type || t == TypeManager.char_type)