[Mono-bugs] [Bug 30544][Wis] New - Decimal array initializers crashes ArrayCreation.MakeByteBlob
bugzilla-daemon@rocky.ximian.com
bugzilla-daemon@rocky.ximian.com
18 Sep 2002 19:42:53 -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 andy@nobugs.org.
http://bugzilla.ximian.com/show_bug.cgi?id=30544
--- shadow/30544 Wed Sep 18 15:42:52 2002
+++ shadow/30544.tmp.12859 Wed Sep 18 15:42:52 2002
@@ -0,0 +1,54 @@
+Bug#: 30544
+Product: Mono/MCS
+Version: unspecified
+OS:
+OS Details:
+Status: NEW
+Resolution:
+Severity:
+Priority: Wishlist
+Component: Misc
+AssignedTo: mono-bugs@ximian.com
+ReportedBy: andy@nobugs.org
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: Decimal array initializers crashes ArrayCreation.MakeByteBlob
+
+Build the following under the latest cvs mcs:
+
+class X
+{
+ public static void Main()
+ {
+ decimal[] d = {0m, 0m, 0m};
+ }
+}
+
+It dies with an unhandled exception (see below). It works fine if the
+array is initialized with zero, one or two decimals, but crashes with three
+or more.
+
+Unhandled Exception: System.Exception: Unrecognized type in MakeByteBlob
+in <0x00cb9> 00 Mono.CSharp.ArrayCreation:MakeByteBlob
+(System.Collections.ArrayList,System.Type,Mono.CSharp.Location)
+in <0x00050> 00 Mono.CSharp.ArrayCreation:EmitStaticInitializers
+(Mono.CSharp.EmitContext,bool)
+in <0x001ed> 00 Mono.CSharp.ArrayCreation:DoEmit (Mono.CSharp.EmitContext,bool)
+in <0x00015> 00 Mono.CSharp.ArrayCreation:Emit (Mono.CSharp.EmitContext)
+in <0x00049> 00 Mono.CSharp.LocalVariableReference:EmitAssign
+(Mono.CSharp.EmitContext,Mono.CSharp.Expression)
+in <0x001e6> 00 Mono.CSharp.Assign:Emit (Mono.CSharp.EmitContext,bool)
+in <0x00015> 00 Mono.CSharp.Assign:EmitStatement (Mono.CSharp.EmitContext)
+in <0x00086> 00 Mono.CSharp.StatementExpression:Emit (Mono.CSharp.EmitContext)
+in <0x00416> 00 Mono.CSharp.Block:Emit (Mono.CSharp.EmitContext)
+in <0x001a3> 00 Mono.CSharp.EmitContext:EmitTopBlock
+(Mono.CSharp.Block,Mono.CSharp.InternalParameters,Mono.CSharp.Location)
+in <0x005c5> 00 Mono.CSharp.MethodData:Emit
+(Mono.CSharp.TypeContainer,Mono.CSharp.Block,object)
+in <0x0001f> 00 Mono.CSharp.Method:Emit (Mono.CSharp.TypeContainer)
+in <0x0027b> 00 Mono.CSharp.TypeContainer:Emit ()
+in <0x004da> 00 Mono.CSharp.RootContext:EmitCode ()
+in <0x00732> 00 Mono.CSharp.Driver:MainDriver (string[])
+in <0x0000b> 00 Mono.CSharp.Driver:Main (string[])