[Mono-bugs] [Bug 23076] New - MarkLabel gets confused
bugzilla-daemon@rocky.ximian.com
bugzilla-daemon@rocky.ximian.com
5 Apr 2002 16:17:38 -0000
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 dick@ximian.com.
http://bugzilla.ximian.com/show_bug.cgi?id=23076
--- shadow/23076 Fri Apr 5 11:17:38 2002
+++ shadow/23076.tmp.15093 Fri Apr 5 11:17:38 2002
@@ -0,0 +1,40 @@
+Bug#: 23076
+Product: Mono/MCS
+Version: unspecified
+OS: other
+OS Details:
+Status: NEW
+Resolution:
+Severity:
+Priority: Wishlist
+Component: Misc
+AssignedTo: mono-bugs@ximian.com
+ReportedBy: dick@ximian.com
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: MarkLabel gets confused
+
+A try block containing two foreach loops is confusing the label marking
+during code generation. MCS aborts with:
+
+Unhandled exception System.ArgumentException The label was already defined.
+#0: 0x00089 throw in System.Reflection.Emit.ILGenerator::MarkLabel
+([vt: 0xbfffe7dc] )
+#1: 0x00031 callvirt in
+System.Reflection.Emit.ILGenerator::EndExceptionBlock ()
+#2: 0x00194 callvirt in Mono.CSharp.Try::Emit ([0x8283c54] )
+#3: 0x0009f callvirt in Mono.CSharp.Block::Emit ([0x8283c54] )
+#4: 0x0002d callvirt in Mono.CSharp.If::Emit ([0x8283c54] )
+#5: 0x0009f callvirt in Mono.CSharp.Block::Emit ([0x8283c54] )
+#6: 0x00041 callvirt in Mono.CSharp.EmitContext::EmitTopBlock
+([0x819c854] [vt: 0xbffff1cc] )
+#7: 0x00147 callvirt in Mono.CSharp.Method::Emit ([0x81b26f4] )
+#8: 0x00085 callvirt in Mono.CSharp.TypeContainer::Emit ()
+#9: 0x00067 callvirt in Mono.CSharp.RootContext::EmitCode ()
+#10: 0x00954 call in Mono.CSharp.Driver::MainDriver ([0x80c4e20] )
+#11: 0x00001 call in Mono.CSharp.Driver::Main ([0x80c4e20] )
+
+
+I'll attach demonstration code that has been distilled from nant.