Bug 653376

Summary: Compile error CS0201 is indicated incorrectly.
Product: [Mono] Mono: Compilers Reporter: Michael Mudge <michael>
Component: C#Assignee: Marek Safar <msafar>
Status: RESOLVED DUPLICATE QA Contact: Mono Bugs <mono-bugs>
Severity: Normal    
Priority: P5 - None    
Version: 2.8.x   
Target Milestone: ---   
Hardware: i386   
OS: Ubuntu   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Michael Mudge 2010-11-12 20:39:40 UTC
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 (.NET CLR 3.5.30729)

objects.cs(1397,37): error CS0201: Only assignment, call, increment, decrement, and new object expressions can be used as a statement

Lines 1396-1398
static void InitMe (out Gamma noMercyWithTheStack) {
  noMercyWithTheStack = new Gamma ();
}


Other errors include:
objects.cs(1428,17): error CS0584: Internal compiler error: Argument is out of range.
Parameter name: flow-analysis
objects.cs(1428,17): error CS0201: Only assignment, call, increment, decrement, and new object expressions can be used as a statement
Compilation failed: 4 error(s), 14 warnings

mono/mono/mini/objects.cs:1397,1428 - InitMe() and test_0_float_load_and_store_with_big_offset()


Reproducible: Always

Steps to Reproduce:
1.Build mono/mono/mini/objects.cs

Actual Results:  
Build fails because the indicated line is incorrectly believed to be an invalid expression statement.

Expected Results:  
C# code should be legal and compile (or, there is something wrong with the C#, which is also a part of the Mono project)

The variable being assigned is an out variable and a struct - one or both of these may be a factor.
Comment 1 Marek Safar 2010-11-15 14:13:29 UTC
.

*** This bug has been marked as a duplicate of bug 646744 ***