[Mono-list] Mono trunk dmcs compilator

Rodrigo Kumpera kumpera at gmail.com
Mon Dec 14 18:07:49 EST 2009


Hi Tomi,

Your regression has been fixed with r148433 of mono and mcs.


On Mon, Dec 14, 2009 at 11:00 AM, Rodrigo Kumpera <kumpera at gmail.com> wrote:

> Actually, this is a bug on dmcs and not on mscorlib.
>
>
> On Mon, Dec 14, 2009 at 9:38 AM, Rodrigo Kumpera <kumpera at gmail.com>wrote:
>
>> It means I did something wrong. I'll work on fixing this. Thanks for
>> reporting
>>
>>
>>
>> On Mon, Dec 14, 2009 at 9:19 AM, Tomi <bosak.tomas at gmail.com> wrote:
>>
>>> Hi folks,
>>>
>>> I have downloaded newest mono from trunk svn, compiled and installed it
>>> as Miguel wrote in his post (
>>> http://tirania.org/blog/archive/2009/Dec-09.html) but when I try to
>>> compile simple program like this:
>>>
>>> using System;
>>> using System.Collections.Generic;
>>> using System.Linq;
>>> using System.Text;
>>> using System.Dynamic;
>>>
>>> namespace ConsoleTest
>>> {
>>>         public class Program
>>>         {
>>>                 public static void Main(string[] args)
>>>                 {
>>>                         dynamic x = 5;
>>>                         Console.WriteLine(x);
>>>
>>>                         Console.WriteLine("\nEnd");
>>>                         Console.ReadLine();
>>>                 }
>>>         }
>>> }
>>>
>>> with mono C# 4.0 dmcs compilator I get this exception:
>>>
>>> root at vps-19-ubuntu-server:~/mono4/Projects/ConsoleTest# ../../bin/dmcs
>>> Program.cs
>>> Internal compiler error at Program.cs(11,36):: exception caught while
>>> emitting MethodBuilder [Program::Main]
>>>
>>> Unhandled Exception: System.NotImplementedException: The requested
>>> feature is not implemented.
>>>   at Mono.CSharp.DynamicType.get_AssemblyQualifiedName () [0x00000] in
>>> <filename unknown>:0
>>>   at System.Reflection.MonoGenericClass.format_name (Boolean full_name,
>>> Boolean assembly_qualified) [0x00000] in <filename unknown>:0
>>>   at System.Reflection.MonoGenericClass.get_AssemblyQualifiedName ()
>>> [0x00000] in <filename unknown>:0
>>>   at System.Reflection.MonoGenericClass.format_name (Boolean full_name,
>>> Boolean assembly_qualified) [0x00000] in <filename unknown>:0
>>>   at System.Reflection.MonoGenericClass.get_FullName () [0x00000] in
>>> <filename unknown>:0
>>>   at Mono.CSharp.TypeHandle..ctor (System.Type type) [0x00000] in
>>> <filename unknown>:0
>>>   at Mono.CSharp.TypeHandle.GetTypeHandle (System.Type t) [0x00000] in
>>> <filename unknown>:0
>>>   at Mono.CSharp.TypeHandle.GetMemberCache (System.Type t) [0x00000] in
>>> <filename unknown>:0
>>>   at Mono.CSharp.TypeManager.MemberLookup_FindMembers (System.Type t,
>>> MemberTypes mt, BindingFlags bf, System.String name, System.Boolean&
>>> used_cache) [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.TypeManager.RealMemberLookup (System.Type
>>> invocation_type, System.Type qualifier_type, System.Type queried_type,
>>> MemberTypes mt, BindingFlags original_bf, System.String name, IList`1
>>> almost_match) [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.TypeManager.MemberLookup (System.Type invocation_type,
>>> System.Type qualifier_type, System.Type queried_type, MemberTypes mt,
>>> BindingFlags original_bf, System.String name, IList`1 almost_match)
>>> [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.Expression.MemberLookup (Mono.CSharp.CompilerContext
>>> ctx, System.Type container_type, System.Type qualifier_type, System.Type
>>> queried_type, System.String name, MemberTypes mt, BindingFlags bf, Location
>>> loc) [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.Expression.MemberLookup (Mono.CSharp.CompilerContext
>>> ctx, System.Type container_type, System.Type qualifier_type, System.Type
>>> queried_type, System.String name, Location loc) [0x00000] in <filename
>>> unknown>:0
>>>   at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.ResolveContext ec,
>>> Mono.CSharp.Expression right_side) [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.ResolveContext ec)
>>> [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec,
>>> ResolveFlags flags) [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.ResolveContext ec)
>>> [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec,
>>> ResolveFlags flags) [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext rc)
>>> [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.Assign.DoResolve (Mono.CSharp.ResolveContext ec)
>>> [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.SimpleAssign.DoResolve (Mono.CSharp.ResolveContext ec)
>>> [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec,
>>> ResolveFlags flags) [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext rc)
>>> [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.ExpressionStatement.ResolveStatement
>>> (Mono.CSharp.BlockContext ec) [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.StatementExpression.Resolve (Mono.CSharp.BlockContext
>>> ec) [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.DynamicExpressionStatement.EmitCall
>>> (Mono.CSharp.EmitContext ec, Mono.CSharp.Expression binder,
>>> Mono.CSharp.Arguments arguments, Boolean isStatement) [0x00000] in <filename
>>> unknown>:0
>>>   at Mono.CSharp.DynamicExpressionStatement.EmitStatement
>>> (Mono.CSharp.EmitContext ec) [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.DynamicInvocation.EmitStatement (Mono.CSharp.EmitContext
>>> ec) [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.StatementExpression.DoEmit (Mono.CSharp.EmitContext ec)
>>> [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x00000] in
>>> <filename unknown>:0
>>>   at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00000] in
>>> <filename unknown>:0
>>>   at Mono.CSharp.Block.Emit (Mono.CSharp.EmitContext ec) [0x00000] in
>>> <filename unknown>:0
>>>   at Mono.CSharp.ExplicitBlock.Emit (Mono.CSharp.EmitContext ec)
>>> [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec)
>>> [0x00000] in <filename unknown>:0
>>>   at Mono.CSharp.MethodData.Emit (Mono.CSharp.DeclSpace parent) [0x00000]
>>> in <filename unknown>:0
>>>   at Mono.CSharp.MethodOrOperator.Emit () [0x00000] in <filename
>>> unknown>:0
>>>   at Mono.CSharp.Method.Emit () [0x00000] in <filename unknown>:0
>>>
>>> Does that mean that C# 4 dynamic keyword is not yet supported or I'm
>>> doing something wrong somewhere?
>>>
>>> _______________________________________________
>>> Mono-list maillist  -  Mono-list at lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/mono-list
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-list/attachments/20091214/6960be45/attachment.html 


More information about the Mono-list mailing list