- Make sure we have a way to disable building with the Roslyn compiler. That should only happen in the internal build.
- Update the FeatureSpanOfT to also condition on using the latest compiler
- Introduce an if/def in string.cs for code that uses the ref locals / ref return.
- Make sure we only include the CryptographicException when building CoreCLR
- Update the PInvokeMap.txt file to include the right set of APIs.
- Remove duplicated APIs from PInvokeMap.txt
[tfs-changeset: 1636041]
<FeatureMergeJitAndEngine>true</FeatureMergeJitAndEngine>
<FeatureMulticoreJIT>true</FeatureMulticoreJIT>
<FeaturePrejit>true</FeaturePrejit>
- <FeatureSpanOfT>true</FeatureSpanOfT>
+ <FeatureSpanOfT Condition="'$(UseLegacyCompiler)'!='true'">true</FeatureSpanOfT>
<FeatureStandaloneSn>true</FeatureStandaloneSn>
<FeatureStrongnameDelaySigningAllowed>true</FeatureStrongnameDelaySigningAllowed>
<FeatureStrongnameMigration>true</FeatureStrongnameMigration>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Always use latest Roslyn compiler -->
- <Import Project="..\..\Tools\net45\roslyn\build\Microsoft.Net.Compilers.props" Condition="'$(OS)'=='Windows_NT'" />
+ <Import Project="..\..\Tools\net45\roslyn\build\Microsoft.Net.Compilers.props" Condition="'$(OS)'=='Windows_NT' and '$(UseLegacyCompiler)'!='true'" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<SecuritySources Include="$(BclSourcesRoot)\System\Security\SecurityZone.cs" />
<SecuritySources Include="$(BclSourcesRoot)\System\Security\VerificationException.cs" />
<SecuritySources Condition="'$(FeatureLegacySurface)' == 'true'" Include="$(BclSourcesRoot)\System\Security\securestring.cs" />
- <SecuritySources Include="$(CoreFxSourcesRoot)\System\Security\CryptographicException.cs" />
</ItemGroup>
<ItemGroup>
<BuffersSources Include="$(CoreFxSourcesRoot)\System\Buffers\DefaultArrayPool.cs" />
<BuffersSources Include="$(CoreFxSourcesRoot)\System\Buffers\DefaultArrayPoolBucket.cs" />
<BuffersSources Include="$(CoreFxSourcesRoot)\System\Buffers\Utilities.cs" />
+ <SecuritySources Include="$(CoreFxSourcesRoot)\System\Security\CryptographicException.cs" />
</ItemGroup>
<ItemGroup Condition="'$(FeatureCoreFxWindowsInterop)' == 'true'">
<WindowsInteropSources Include="$(CoreFxSourcesRoot)\System\HResults.cs" />
}
}
+#if FEATURE_SPAN_OF_T
internal ref char GetFirstCharRef() {
return ref m_firstChar;
}
+#endif
}
}