Imported Upstream version 5.14.0.78

Former-commit-id: 3494343bcc9ddb42b36b82dd9ae7b69e85e0229f
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-05-10 08:37:03 +00:00
parent 74b74abd9f
commit 19234507ba
1776 changed files with 67755 additions and 31107 deletions

View File

@@ -32,7 +32,7 @@ BUILT_SOURCES = cs-parser.cs
CLEAN_FILES += y.output
%-parser.cs: %-parser.jay $(topdir)/jay/skeleton.cs
$(topdir)/jay/jay $(JAY_FLAGS) < $(topdir)/jay/skeleton.cs $< > jay-tmp.out && mv jay-tmp.out $@
$(topdir)/jay/jay $(JAY_FLAGS) -o jay-tmp.out $< < $(topdir)/jay/skeleton.cs && mv jay-tmp.out $@
KEEP_OUTPUT_FILE_COPY = yes

View File

@@ -1 +1 @@
7e78d41043314048b54c7e8ec54e14a9bc2944f0
29e041bd715e98996e4bfcea2ef89ec0acb0c466

View File

@@ -1 +1 @@
b4a6a6a1dd58a51dfde5b14b6b6e8af4566850c0
7b3cb46f2b8083c2b0c64084235e9d355426449a

View File

@@ -3381,7 +3381,7 @@ namespace Mono.CSharp {
continue;
var bound = candidates [ci];
if (bound.Type == best_candidate)
if (TypeSpecComparer.IsEqual (bound.Type, best_candidate))
continue;
int cii = 0;

View File

@@ -1,193 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- WARNING: this file is autogenerated, don't modify it. Edit the .sources file of the corresponding assembly instead if you want to add/remove C# source files. -->
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{D4A01C5B-A1B5-48F5-BB5B-D2E1BD236E56}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Mono.CSharp</RootNamespace>
<NoWarn>1699</NoWarn>
<LangVersion>latest</LangVersion>
<HostPlatform Condition=" '$(HostPlatform)' == '' and '$(OS)' == 'Windows_NT'">win32</HostPlatform>
<HostPlatform Condition=" '$(HostPlatform)' == '' and '$(OS)' == 'Unix' and $([System.IO.File]::Exists('/usr/lib/libc.dylib'))">darwin</HostPlatform>
<HostPlatform Condition=" '$(HostPlatform)' == '' and '$(OS)' == 'Unix'">linux</HostPlatform>
<GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
<NoStdLib>False</NoStdLib>
<NoConfig>True</NoConfig>
<AssemblyName>mcs</AssemblyName>
<FileAlignment>512</FileAlignment>
<PlatformTarget>x86</PlatformTarget>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>True</DebugSymbols>
<!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0,
Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This
is a problem to compile the Mono mscorlib.dll -->
<PropertyGroup>
<AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'net_4_x' ">
<OutputPath>./../class/lib/net_4_x-$(HostPlatform)</OutputPath>
<IntermediateOutputPath>./../class/obj/$(AssemblyName)-net_4_x-$(HostPlatform)</IntermediateOutputPath>
<DefineConstants>STATIC;NO_SYMBOL_WRITER;NO_AUTHENTICODE;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_PROCESS_START;NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS</DefineConstants>
</PropertyGroup>
<!-- @ALL_PROFILE_PROPERTIES@ -->
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>False</Optimize>
<OutputPath>.</OutputPath>
<DefineConstants>TRACE;DEBUG;NET_4_5;STATIC;NO_SYMBOL_WRITER;NO_AUTHENTICODE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<UseVSHostingProcess>false</UseVSHostingProcess>
<Commandlineparameters></Commandlineparameters>
<Optimize>false</Optimize>
<!-- TRACE is set only for Debug configuration, so inherit from platform-specific value -->
<DefineConstants>TRACE;$(DefineConstants)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DebugType>pdbonly</DebugType>
<Optimize>True</Optimize>
<DefineConstants>TRACE;NET_4_0;STATIC;NO_SYMBOL_WRITER;NO_AUTHENTICODE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<OutputPath>.</OutputPath>
<Optimize>true</Optimize>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug - AST|AnyCPU'">
<DebugSymbols>True</DebugSymbols>
<OutputPath>.</OutputPath>
<DefineConstants>TRACE;DEBUG;NET_4_0;STATIC;NO_SYMBOL_WRITER;NO_AUTHENTICODE;FULL_AST</DefineConstants>
<DebugType>full</DebugType>
<CodeAnalysisLogFile>mcs.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
<WarningLevel>4</WarningLevel>
<Optimize>False</Optimize>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\build\common\Consts.cs">
</Compile>
<Compile Include="..\class\Mono.Security\Mono.Security.Cryptography\CryptoConvert.cs">
<Link>CryptoConvert.cs</Link>
</Compile>
<Compile Include="..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolFile.cs">
<Link>MonoSymbolFile.cs</Link>
</Compile>
<Compile Include="..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolTable.cs">
<Link>MonoSymbolTable.cs</Link>
</Compile>
<Compile Include="..\class\Mono.CompilerServices.SymbolWriter\SourceMethodBuilder.cs">
<Link>SourceMethodBuilder.cs</Link>
</Compile>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- @COMMON_SOURCES@ -->
<ItemGroup Condition=" '$(Platform)' == 'net_4_x' ">
<Compile Include="..\..\external\ikvm\reflect\*.cs" />
<Compile Include="..\..\external\ikvm\reflect\Emit\*.cs" />
<Compile Include="..\..\external\ikvm\reflect\Impl\ITypeOwner.cs" />
<Compile Include="..\..\external\ikvm\reflect\Impl\SymbolSupport.cs" />
<Compile Include="..\..\external\ikvm\reflect\Metadata\*.cs" />
<Compile Include="..\..\external\ikvm\reflect\Reader\*.cs" />
<Compile Include="..\..\external\ikvm\reflect\Writer\*.cs" />
<Compile Include="..\build\common\Consts.cs" />
<Compile Include="..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolFile.cs" />
<Compile Include="..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolTable.cs" />
<Compile Include="..\class\Mono.CompilerServices.SymbolWriter\SourceMethodBuilder.cs" />
<Compile Include="..\class\Mono.Security\Mono.Security.Cryptography\CryptoConvert.cs" />
<Compile Include="..\tools\monop\outline.cs" />
<Compile Include="anonymous.cs" />
<Compile Include="argument.cs" />
<Compile Include="assembly.cs" />
<Compile Include="AssemblyInfo.cs">
</Compile>
<Compile Include="anonymous.cs">
</Compile>
<Compile Include="assign.cs">
</Compile>
<Compile Include="AssemblyInfo.cs" />
<Compile Include="assign.cs" />
<Compile Include="async.cs" />
<Compile Include="attribute.cs">
</Compile>
<Compile Include="cfold.cs">
</Compile>
<Compile Include="class.cs">
</Compile>
<Compile Include="codegen.cs">
</Compile>
<Compile Include="attribute.cs" />
<Compile Include="cfold.cs" />
<Compile Include="class.cs" />
<Compile Include="codegen.cs" />
<Compile Include="complete.cs" />
<Compile Include="const.cs">
</Compile>
<Compile Include="constant.cs">
</Compile>
<Compile Include="convert.cs">
</Compile>
<Compile Include="const.cs" />
<Compile Include="constant.cs" />
<Compile Include="context.cs" />
<Compile Include="convert.cs" />
<Compile Include="cs-tokenizer.cs" />
<Compile Include="decl.cs" />
<Compile Include="delegate.cs" />
<Compile Include="doc.cs" />
<Compile Include="driver.cs" />
<Compile Include="dynamic.cs" />
<Compile Include="ecore.cs" />
<Compile Include="enum.cs" />
<Compile Include="eval.cs" />
<Compile Include="expression.cs" />
<Compile Include="field.cs" />
<Compile Include="flowanalysis.cs" />
<Compile Include="generic.cs" />
<Compile Include="ikvm.cs" />
<Compile Include="import.cs" />
<Compile Include="lambda.cs">
</Compile>
<Compile Include="cs-parser.cs" />
<Compile Include="cs-tokenizer.cs">
</Compile>
<Compile Include="decl.cs">
</Compile>
<Compile Include="delegate.cs">
</Compile>
<Compile Include="doc.cs">
</Compile>
<Compile Include="driver.cs">
</Compile>
<Compile Include="ecore.cs">
</Compile>
<Compile Include="enum.cs">
</Compile>
<Compile Include="expression.cs">
</Compile>
<Compile Include="flowanalysis.cs">
</Compile>
<Compile Include="generic.cs" />
<Compile Include="iterators.cs">
</Compile>
<Compile Include="literal.cs">
</Compile>
<Compile Include="location.cs">
</Compile>
<Compile Include="iterators.cs" />
<Compile Include="lambda.cs" />
<Compile Include="linq.cs" />
<Compile Include="literal.cs" />
<Compile Include="location.cs" />
<Compile Include="membercache.cs" />
<Compile Include="method.cs" />
<Compile Include="modifiers.cs">
</Compile>
<Compile Include="namespace.cs">
</Compile>
<Compile Include="modifiers.cs" />
<Compile Include="module.cs" />
<Compile Include="namespace.cs" />
<Compile Include="nullable.cs" />
<Compile Include="..\tools\monop\outline.cs">
<Link>outline.cs</Link>
</Compile>
<Compile Include="parameter.cs" />
<Compile Include="pending.cs" />
<Compile Include="property.cs" />
<Compile Include="reflection.cs" />
<Compile Include="report.cs" />
<Compile Include="settings.cs">
</Compile>
<Compile Include="module.cs">
</Compile>
<Compile Include="statement.cs">
</Compile>
<Compile Include="support.cs">
</Compile>
<Compile Include="typemanager.cs">
</Compile>
<Compile Include="linq.cs" />
<Compile Include="field.cs" />
<Compile Include="settings.cs" />
<Compile Include="statement.cs" />
<Compile Include="support.cs" />
<Compile Include="tuples.cs" />
<Compile Include="typemanager.cs" />
<Compile Include="typespec.cs" />
<Compile Include="visit.cs" />
<Compile Include="tuples.cs" />
<Compile Include="cs-parser.cs" />
</ItemGroup>
<ItemGroup Label="IKVM.Reflection">
<Compile Include="..\..\external\ikvm\reflect\*.cs">
<Visible>False</Visible>
</Compile>
<Compile Include="..\..\external\ikvm\reflect\Emit\*.cs">
<Visible>False</Visible>
</Compile>
<Compile Include="..\..\external\ikvm\reflect\Metadata\*.cs">
<Visible>False</Visible>
</Compile>
<Compile Include="..\..\external\ikvm\reflect\Reader\*.cs">
<Visible>False</Visible>
</Compile>
<Compile Include="..\..\external\ikvm\reflect\Writer\*.cs">
<Visible>False</Visible>
</Compile>
<Compile Include="..\..\external\ikvm\reflect\Impl\ITypeOwner.cs">
<Visible>False</Visible>
</Compile>
<Compile Include="..\..\external\ikvm\reflect\Impl\SymbolSupport.cs">
<Visible>False</Visible>
</Compile>
<!-- @ALL_SOURCES@ -->
<!-- @COMMON_PROJECT_REFERENCES@ -->
<ItemGroup Condition=" '$(Platform)' == 'net_4_x' ">
<ProjectReference Include="../class/System.Core/System.Core.csproj" />
<ProjectReference Include="../class/System.XML/System.Xml.csproj" />
<ProjectReference Include="../class/System/System.csproj" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
<!-- @ALL_REFERENCES@ -->
<!-- @ALL_RESOURCES@ -->
<PropertyGroup>
<PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">$(ProjectDir)\..\jay\jay -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\cs-parser.jay &gt; $(ProjectDir)\cs-parser.cs</PreBuildEvent>
<PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">$(ProjectDir)\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\cs-parser.jay &gt; $(ProjectDir)\cs-parser.cs</PreBuildEvent>
</PropertyGroup>
</Project>

View File

@@ -1 +1 @@
9c51128548f7bf24c42648a23fef1bf5dbc67fa8
6c834a1b868a20e05cf71b90e656297e3cce7faf

View File

@@ -267,6 +267,11 @@ namespace Mono.CSharp
this.Location = expr.Location;
}
public TupleLiteralElement Clone (CloneContext clonectx)
{
return new TupleLiteralElement (Name, Expr.Clone (clonectx), Location);
}
public string Name { get; private set; }
public Expression Expr { get; set; }
public Location Location { get; private set; }
@@ -288,6 +293,16 @@ namespace Mono.CSharp
}
}
protected override void CloneTo (CloneContext clonectx, Expression t)
{
var clone = new List<TupleLiteralElement> (elements.Count);
foreach (var te in elements)
clone.Add (te.Clone (clonectx));
TupleLiteral target = (TupleLiteral)t;
target.elements = clone;
}
public static bool ContainsNoTypeElement (TypeSpec type)
{
var ta = type.TypeArguments;