http://bugzilla.novell.com/show_bug.cgi?id=628036
http://bugzilla.novell.com/show_bug.cgi?id=628036#c0 Summary: Missing closing paren in some statements causes an internal compiler error Classification: Mono Product: Mono: Compilers Version: 2.4.x Platform: PC OS/Version: Ubuntu Status: NEW Severity: Normal Priority: P5 - None Component: C# AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: Community User Blocker: --- Created an attachment (id=380303) --> (http://bugzilla.novell.com/attachment.cgi?id=380303) Code to reproduce the bug Description of Problem: Code like statement (new ClassName() { typename varname = value; code } causes an internal compiler error. I've attached a file demonstrating. Steps to reproduce the problem: 1. Create a class with a method in it. 2. In that method place a statement with a body containing new ClassName() but leave off the statements closing ) before the {. (See attachment for two examples) 3. Compile with mcs or gmcs. Actual Results: built with$ mcs crash.cs crash.cs(10,21): error CS1526: A new expression requires () or [] after type crash.cs(10,26): error CS8032: Internal compiler error during parsing, Run with -v for details Compilation failed: 2 error(s), 0 warnings built with$ mcs -v crash.cs crash.cs(10,21): error CS1526: A new expression requires () or [] after type System.NullReferenceException: Object reference not set to an instance of an object at Mono.CSharp.SimpleAssign..ctor (Mono.CSharp.Expression target, Mono.CSharp.Expression source) [0x00000] at Mono.CSharp.CSharpParser.yyparse (yyInput yyLex) [0x00000] at Mono.CSharp.CSharpParser.parse () [0x00000] crash.cs(10,26): error CS8032: Internal compiler error during parsing, Run with -v for details Compilation failed: 2 error(s), 0 warnings Expected Results: Something along the lines of: filename(col, row): Unexpected symbol `{' filename(col, row): error CS8025: Parsing error or output compatible with Microsoft's compiler. When built 'mcs crash.cs' How often does this happen? Always Additional Information: I was curious whether using (new DisposableClass()) {} would be reported as an error or a warning, and fed it to the compiler. I had made the typo of leaving off the last ')', and bingo... internal compiler error. Usually I only get those when making template related typo's in Visual C++ :-P. -- 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
