http://bugzilla.novell.com/show_bug.cgi?id=623785

http://bugzilla.novell.com/show_bug.cgi?id=623785#c0


           Summary: Internal Compiler Error: anonymous function, linq,
                    local variable, method parameter
    Classification: Mono
           Product: Mono: Compilers
           Version: SVN
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: C#
        AssignedTo: [email protected]
        ReportedBy: [email protected]
         QAContact: [email protected]
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.6)
Gecko/20100625 Firefox/3.6.6 (.NET CLR 3.5.30729)

The C# compiler crashes when attempting to compiling the program below:

using System;
using System.Linq;

static class Ice
{
    static void Eval(Func<int> f)
    {
        Console.WriteLine(f());
    }

    static void Main()
    {
        Eval(
            delegate
            {
                int x = 42;
                return (
                    from y in new[] { 42 }
                    where y == x
                    select y
                ).Single();
            });
    }
}

Tested with various versions of gmcs, including and up to SVN 141701, with
always the same error message ("Expression Mono.CSharp.LocalVariableReference
did not set its type after Resolve"). MS csc 3.5 and 4.0 compile it
successfully.

The reference to a local variable from the Linq expression inside an anonymous
function passed as a method parameter seems to cause the crash. All of these
elements need to be present for the problem to appear.


Reproducible: Always

Steps to Reproduce:
gmcs ice.cs
Actual Results:  
internal compiler error  (ICE)

Expected Results:  
generation of a program that prints 42 on the standard output.

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to