This is Xamarin's bug tracking system. For product support, please use the support links listed in your Xamarin Account.
Bug 8384 - Mono MCS fails to parse null coalescing operator when used as a conditional
: Mono MCS fails to parse null coalescing operator when used as a conditional
Status: RESOLVED FIXED
Product: Compilers
Classification: Mono
Component: C#
: unspecified
: PC Windows
: --- normal
: ---
Assigned To: Marek Safar
:
:
:
:
  Show dependency treegraph
 
Reported: 2012-11-13 18:51 EST by Brett van Swelm
Modified: 2012-11-16 06:34 EST (History)
1 user (show)

See Also:
Tags:
Test Case URL:
External Submit: ---


Attachments

Description Brett van Swelm 2012-11-13 18:51:50 EST
Mono MCS fails to parse null coalescing operator when used as a conditional.

With "D:\Applications\Mono-2.11.4\bin" and
"C:\Windows\Microsoft.NET\Framework\v4.0.30319" in the path on my Windows 7
machine:

===== NullOperand.cs =====
using System;

public class NullOperator {
    public static void Test(object param) {
        if (param as bool? ?? false) {} else {}
    }
    public static void Main(String[] args) {}
} 
===== end =====

$ csc NullOperator.cs
Microsoft (R) Visual C# Compiler version 4.0.30319.17929
for Microsoft (R) .NET Framework 4.5
Copyright (C) Microsoft Corporation. All rights reserved.

$ mcs NullOperator.cs
NullOperator.cs(5,27): error CS1525: Unexpected symbol `??'
NullOperator.cs(5,31): error CS0201: Only assignment, call, increment,
decrement, await, and new object expressions can be used as a statement
NullOperator.cs(5,35): error CS1525: Unexpected symbol `)'
NullOperator.cs(5,40): error CS1525: Unexpected symbol `else'
Compilation failed: 4 error(s), 0 warnings

Thanks,

Brett van Swelm | Senior Engineer
Coverity | 185 Berry Street | Suite 6500, Lobby 3 | San Francisco, CA 94107
The Leader in Development Testing
Read our profile in Forbes, Coverity Gets Code Right 25% Faster
Comment 1 Marek Safar 2012-11-16 06:34:02 EST
Fixed in master

Note You need to log in before you can comment on or make changes to this bug.