[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.