[Mono-bugs] [Bug 671488] New: incorrect CS0159 errors being reported
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Fri Feb 11 19:36:28 EST 2011
https://bugzilla.novell.com/show_bug.cgi?id=671488
https://bugzilla.novell.com/show_bug.cgi?id=671488#c0
Summary: incorrect CS0159 errors being reported
Classification: Mono
Product: Mono: Compilers
Version: 2.10.x
Platform: x86
OS/Version: Windows 7
Status: NEW
Severity: Normal
Priority: P5 - None
Component: C#
AssignedTo: msafar at novell.com
ReportedBy: joe at mistachkin.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13)
Gecko/20101203 Firefox/3.6.13
It seems the combination of goto and switch might be triggering incorrect
instances of error CS0159. Here is a simplified example:
// Program.cs
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int foo;
Console.Write("please enter a number (0, 1, or 2): ");
string line = Console.ReadLine();
if (int.TryParse(line, out foo))
{
switch (foo)
{
case 1:
gotoTarget:
{
Console.WriteLine("case 1 done");
break;
}
default:
{
Console.WriteLine("default case");
if (foo != 0)
{
Console.WriteLine("going to goto target");
goto gotoTarget;
}
Console.WriteLine("default done");
break;
}
}
}
}
}
}
Reproducible: Always
Steps to Reproduce:
1. Save the above sample code as "Program.cs"
2. Attempt to compile the sample code using gmcs.
Actual Results:
Program.cs(31,34): error CS0159: The label `gotoTarget:' could not be found
within the scope of the goto statement
Compilation failed: 1 error(s), 0 warnings
Expected Results:
An executable assembly file should be produced. No errors or warnings should
be generated.
This same code compiles perfectly using Mono 2.8 and Visual Studio 2008.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list