[Mono-bugs] [Bug 78031][Nor] Changed - [GMCS] gmcs generates invalid IL for iterators

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Wed Apr 19 22:43:28 EDT 2006


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by miguel at ximian.com.

http://bugzilla.ximian.com/show_bug.cgi?id=78031

--- shadow/78031	2006-04-19 21:33:47.000000000 -0400
+++ shadow/78031.tmp.8901	2006-04-19 22:43:28.000000000 -0400
@@ -1,13 +1,13 @@
 Bug#: 78031
 Product: Mono: Compilers
 Version: 1.1
 OS: unknown
 OS Details: 
-Status: NEW   
-Resolution: 
+Status: RESOLVED   
+Resolution: FIXED
 Severity: Unknown
 Priority: Normal
 Component: C#
 AssignedTo: miguel at ximian.com                            
 ReportedBy: sanxiyn at gmail.com               
 QAContact: mono-bugs at ximian.com
@@ -167,6 +167,26 @@
 investigating. 
 
 ------- Additional Comments From miguel at ximian.com  2006-04-19 21:33 -------
 Created an attachment (id=16794)
 Switch inversion for iterators in MoveNext.
 
+
+------- Additional Comments From miguel at ximian.com  2006-04-19 22:43 -------
+Martin tracked this down, I likely did a clerical error and got confused.
+
+The problem was that we were emitting the instance for Dispose twice:
+
+          IL_0071:  ldarg.0
+          IL_0072:  ldfld  valuetype
+[mscorlib]System.Collections.Generic.Dictionary`2/Enumerator<object,object>
+Tests/'<GetEnumerator>__0'::'<1:$s_1>'
+          IL_0077:  ldarg.0
+          IL_0078:  ldflda  valuetype
+[mscorlib]System.Collections.Generic.Dictionary`2/Enumerator<object,object>
+Tests/'<GetEnumerator>__0'::'<1:$s_1>'
+
+The problem was in Foreach's EmitFinally code, there was a duplicated
+call to enumerator.Emit.
+
+
+


More information about the mono-bugs mailing list