فهرست منبع

Merge pull request #5836 from marek-safar/corefx-bump

Corefx bump
Marek Safar 8 سال پیش
والد
کامیت
7b4dfeebc4
34فایلهای تغییر یافته به همراه87 افزوده شده و 31 حذف شده
  1. 1 1
      external/api-snapshot
  2. 1 1
      external/corefx
  3. 1 1
      mcs/build/common/basic-profile-check.cs
  4. 1 1
      mcs/build/config-default.make
  5. 5 0
      mcs/build/library.make
  6. 3 1
      mcs/build/profiles/basic.make
  7. 1 0
      mcs/build/profiles/build.make
  8. 1 0
      mcs/build/profiles/monodroid.make
  9. 1 0
      mcs/build/profiles/monotouch_runtime.make
  10. 1 0
      mcs/build/profiles/net_4_x.make
  11. 1 0
      mcs/build/profiles/orbis.make
  12. 1 0
      mcs/build/profiles/testing_aot_full.make
  13. 1 0
      mcs/build/profiles/testing_aot_hybrid.make
  14. 1 0
      mcs/build/profiles/unreal.make
  15. 1 0
      mcs/build/profiles/wasm.make
  16. 1 0
      mcs/build/profiles/winaot.make
  17. 2 0
      mcs/build/profiles/xammac.make
  18. 1 1
      mcs/build/tests.make
  19. 0 1
      mcs/class/Microsoft.CSharp/Microsoft.CSharp.dll.sources
  20. 2 0
      mcs/class/System.Data/corefx/SR.cs
  21. 0 16
      mcs/class/System.Data/corefx/SqlParameter.cs
  22. 3 0
      mcs/class/System/Makefile
  23. 12 0
      mcs/class/System/System.IO.Compression/DeflateStream.cs
  24. 6 1
      mcs/class/corlib/System.Runtime.CompilerServices/Unsafe.cs
  25. 2 0
      mcs/class/corlib/corefx/SR.cs
  26. 13 0
      mcs/class/corlib/corert/Stream.cs
  27. 7 0
      mcs/class/corlib/corlib.dll.sources
  28. 3 3
      mcs/class/corlib/corlib_xtest.dll.sources
  29. 1 1
      mcs/class/referencesource/mscorlib/system/text/encoderbestfitfallback.cs
  30. 2 2
      mcs/class/referencesource/mscorlib/system/text/encoderexceptionfallback.cs
  31. 1 1
      mcs/class/referencesource/mscorlib/system/text/encoderreplacementfallback.cs
  32. 7 0
      mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs
  33. 2 0
      mcs/class/referencesource/mscorlib/system/throwhelper.cs
  34. 1 0
      mcs/class/test-helpers/PlatformDetection.cs

+ 1 - 1
external/api-snapshot

@@ -1 +1 @@
-Subproject commit 849002301b4286379143e8fc087517501346cafe
+Subproject commit 9cd0c7747d64731761bd936cace5792cb319effd

+ 1 - 1
external/corefx

@@ -1 +1 @@
-Subproject commit cc09d1e0a6f8908fc6ce2aa5f223e05290d9d49c
+Subproject commit 5eba95b97930be62ad28b02eb75936bf31361e15

+ 1 - 1
mcs/build/common/basic-profile-check.cs

@@ -42,7 +42,7 @@ class X {
 
 		Version min_mono_version;
 #if __MonoCS__
-		min_mono_version = new Version (5, 5);
+		min_mono_version = new Version (5, 9);
 #else
 		min_mono_version = new Version (4, 9);
 #endif

+ 1 - 1
mcs/build/config-default.make

@@ -20,7 +20,7 @@ endif
 TEST_HARNESS = $(topdir)/class/lib/$(PROFILE_DIRECTORY)/$(PARENT_PROFILE)nunit-lite-console.exe
 PLATFORM_DEBUG_FLAGS = /debug:portable
 # Workaround for https://bugzilla.xamarin.com/show_bug.cgi?id=59967
-MCS_FLAGS = /features:peverify-compat
+MCS_FLAGS = /features:peverify-compat /langversion:latest
 MBAS_FLAGS = -debug
 LIBRARY_FLAGS =
 ifndef CFLAGS

+ 5 - 0
mcs/build/library.make

@@ -35,6 +35,11 @@ LIB_MCS_FLAGS += $(patsubst %,-r:%.dll, $(subst =,=$(topdir)/../external/binary-
 LIB_MCS_FLAGS += $(patsubst %,-r:$(topdir)/class/lib/$(PROFILE_DIRECTORY)/%.dll,$(LIB_REFS_MONO_FULL))
 LIB_MCS_FLAGS += $(patsubst %,-r:%.dll, $(subst =,=$(topdir)/class/lib/$(PROFILE_DIRECTORY)/,$(LIB_REFS_MONO_ALIAS)))
 else
+
+ifdef API_BIN_REFS
+LIB_MCS_FLAGS += $(patsubst %,-r:$(topdir)/../external/api-snapshot/profiles/$(API_BIN_PROFILE)/%.dll,$(API_BIN_REFS))
+endif
+
 LIB_MCS_FLAGS += $(patsubst %,-r:$(topdir)/class/lib/$(PROFILE_DIRECTORY)/%.dll,$(LIB_REFS_FULL))
 LIB_MCS_FLAGS += $(patsubst %,-r:%.dll, $(subst =,=$(topdir)/class/lib/$(PROFILE_DIRECTORY)/,$(LIB_REFS_ALIAS)))
 endif

+ 3 - 1
mcs/build/profiles/basic.make

@@ -31,6 +31,8 @@ MCS = $(BOOTSTRAP_MCS)
 DEFAULT_REFERENCES = -r:$(topdir)/class/lib/$(PROFILE)/mscorlib.dll
 
 PROFILE_MCS_FLAGS = -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -d:BOOTSTRAP_BASIC -nowarn:1699 -nostdlib $(DEFAULT_REFERENCES)
+API_BIN_PROFILE = net_4_x
+
 NO_SIGN_ASSEMBLY = yes
 NO_TEST = yes
 NO_INSTALL = yes
@@ -45,7 +47,7 @@ LIBRARY_COMPILE = $(BOOT_COMPILE)
 #
 # Copy from rules.make because I don't know how to unset MCS_FLAGS
 #
-USE_MCS_FLAGS = /codepage:$(CODEPAGE) /nologo /noconfig $(LOCAL_MCS_FLAGS) $(PLATFORM_MCS_FLAGS) $(PROFILE_MCS_FLAGS)
+USE_MCS_FLAGS = /codepage:$(CODEPAGE) /nologo /noconfig /deterministic $(LOCAL_MCS_FLAGS) $(PLATFORM_MCS_FLAGS) $(PROFILE_MCS_FLAGS) $(MCS_FLAGS)
 
 .PHONY: profile-check do-profile-check
 profile-check:

+ 1 - 0
mcs/build/profiles/build.make

@@ -15,6 +15,7 @@ profile-check:
 
 DEFAULT_REFERENCES = -r:$(topdir)/class/lib/$(PROFILE_DIRECTORY)/mscorlib.dll
 PROFILE_MCS_FLAGS = -d:NET_4_0 -d:NET_4_5 -d:MONO -d:WIN_PLATFORM -nowarn:1699 -nostdlib $(DEFAULT_REFERENCES)
+API_BIN_PROFILE = net_4_x
 
 NO_SIGN_ASSEMBLY = yes
 NO_TEST = yes

+ 1 - 0
mcs/build/profiles/monodroid.make

@@ -27,6 +27,7 @@ PROFILE_MCS_FLAGS = \
 	$(DEFAULT_REFERENCES) \
 	$(PLATFORM_DEBUG_FLAGS)
 
+API_BIN_PROFILE = monodroid
 FRAMEWORK_VERSION = 2.1
 
 # the tuner takes care of the install

+ 1 - 0
mcs/build/profiles/monotouch_runtime.make

@@ -28,6 +28,7 @@ PROFILE_MCS_FLAGS = \
 	$(PLATFORM_DEBUG_FLAGS) \
 	$(MONOTOUCH_MCS_FLAGS)
 
+API_BIN_PROFILE = monotouch
 FRAMEWORK_VERSION = 2.1
 
 # This is utility build only

+ 1 - 0
mcs/build/profiles/net_4_x.make

@@ -14,6 +14,7 @@ profile-check:
 
 DEFAULT_REFERENCES = -r:$(topdir)/class/lib/$(PROFILE_DIRECTORY)/mscorlib.dll
 PROFILE_MCS_FLAGS = -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:WIN_PLATFORM -d:MULTIPLEX_OS -nowarn:1699 -nostdlib $(DEFAULT_REFERENCES) $(PLATFORM_DEBUG_FLAGS)
+API_BIN_PROFILE = net_4_x
 
 FRAMEWORK_VERSION = 4.5
 XBUILD_VERSION = 4.0

+ 1 - 0
mcs/build/profiles/orbis.make

@@ -29,6 +29,7 @@ PROFILE_MCS_FLAGS = \
 	$(DEFAULT_REFERENCES) \
 	$(PLATFORM_DEBUG_FLAGS)
 
+API_BIN_PROFILE = monotouch
 FRAMEWORK_VERSION = 2.1
 
 # the tuner takes care of the install

+ 1 - 0
mcs/build/profiles/testing_aot_full.make

@@ -28,6 +28,7 @@ PROFILE_MCS_FLAGS = \
 	$(DEFAULT_REFERENCES) \
 	$(PLATFORM_DEBUG_FLAGS)
 
+API_BIN_PROFILE = monotouch
 FRAMEWORK_VERSION = 2.1
 
 # the tuner takes care of the install

+ 1 - 0
mcs/build/profiles/testing_aot_hybrid.make

@@ -25,6 +25,7 @@ PROFILE_MCS_FLAGS = \
 	$(DEFAULT_REFERENCES) \
 	$(PLATFORM_DEBUG_FLAGS)
 
+API_BIN_PROFILE = monotouch
 FRAMEWORK_VERSION = 2.1
 
 NO_INSTALL = yes

+ 1 - 0
mcs/build/profiles/unreal.make

@@ -25,6 +25,7 @@ PROFILE_MCS_FLAGS = \
 	$(DEFAULT_REFERENCES) \
 	$(PLATFORM_DEBUG_FLAGS)
 
+API_BIN_PROFILE = monotouch
 FRAMEWORK_VERSION = 2.1
 
 NO_INSTALL = yes

+ 1 - 0
mcs/build/profiles/wasm.make

@@ -29,6 +29,7 @@ PROFILE_MCS_FLAGS = \
 	$(DEFAULT_REFERENCES) \
 	$(PLATFORM_DEBUG_FLAGS)
 
+API_BIN_PROFILE = monotouch
 FRAMEWORK_VERSION = 2.1
 
 # the tuner takes care of the install

+ 1 - 0
mcs/build/profiles/winaot.make

@@ -29,6 +29,7 @@ PROFILE_MCS_FLAGS = \
 	$(DEFAULT_REFERENCES) \
 	$(PLATFORM_DEBUG_FLAGS)
 
+API_BIN_PROFILE = monotouch
 FRAMEWORK_VERSION = 2.1
 
 # the tuner takes care of the install

+ 2 - 0
mcs/build/profiles/xammac.make

@@ -27,7 +27,9 @@ PROFILE_MCS_FLAGS = \
 	$(PLATFORM_DEBUG_FLAGS) \
 	$(XAMMAC_MCS_FLAGS)
 
+API_BIN_PROFILE = monotouch
 FRAMEWORK_VERSION = 2.1
+
 NO_TEST = yes
 NO_INSTALL = yes
 MOBILE_DYNAMIC = yes

+ 1 - 1
mcs/build/tests.make

@@ -255,7 +255,7 @@ ifdef HAVE_CS_XTESTS
 XTEST_HARNESS_PATH = $(topdir)/../external/xunit-binaries
 XTEST_HARNESS = $(XTEST_HARNESS_PATH)/xunit.console.exe
 XTEST_HARNESS_FLAGS := -noappdomain -noshadow -parallel none -nunit TestResult-$(PROFILE)-xunit.xml
-XTEST_TRAIT := -notrait category=failing -notrait category=nonnetcoreapptests -notrait Benchmark=true -notrait category=outerloop
+XTEST_TRAIT := -notrait category=failing -notrait category=nonmonotests -notrait Benchmark=true -notrait category=outerloop
 
 ifdef FIXTURE
 XTEST_HARNESS_FLAGS += -class $(FIXTURE)

+ 0 - 1
mcs/class/Microsoft.CSharp/Microsoft.CSharp.dll.sources

@@ -121,7 +121,6 @@ corefx/SR.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/LocalVariable.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/MemberGroup.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/MethodInfo.cs
-../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/MethodReference.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/NamedArgumentSpecification.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/Property.cs
 ../../../external/corefx/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Tree/PropertyInfo.cs

+ 2 - 0
mcs/class/System.Data/corefx/SR.cs

@@ -804,4 +804,6 @@ partial class SR
 	public const string Odbc_ExceptionMessage = "{0} [{1}] {2}";
 	public const string Odbc_ConnectionClosed = "The connection is closed.";
 	public const string Odbc_OpenConnectionNoOwner = "An internal connection does not have an owner.";
+	public const string Odbc_PlatformNotSupported = "System.Data.ODBC is not supported on this platform.";
+	public const string Odbc_UnixOdbcNotFound = "Dependency unixODBC with minimum version 2.3.1 is required.";
 }

+ 0 - 16
mcs/class/System.Data/corefx/SqlParameter.cs

@@ -11,22 +11,6 @@ namespace System.Data.SqlClient
 {
 	partial class SqlParameter
 	{
-		public SqlParameter(string parameterName, SqlDbType dbType, int size, ParameterDirection direction, bool isNullable, byte precision, byte scale, string sourceColumn, DataRowVersion sourceVersion, object value)
-		{
-			if (parameterName == null)
-				parameterName = string.Empty;
-
-			_isNull = isNullable;
-			Value = value;
-			Scale = scale;
-			Size = size;
-			Precision = precision;
-			SqlDbType = dbType;
-			Direction = direction;
-			SourceColumn = sourceColumn;
-			SourceVersion = sourceVersion;
-		}
-
 		[MonoTODO]
 		public string UdtTypeName
 		{

+ 3 - 0
mcs/class/System/Makefile

@@ -95,6 +95,9 @@ endif
 
 TXT_RESOURCE_STRINGS = ../referencesource/System/System.txt
 
+
+API_BIN_REFS := System.Net.Http
+
 #
 # Flags used to build the secxml version of System.
 #

+ 12 - 0
mcs/class/System/System.IO.Compression/DeflateStream.cs

@@ -34,6 +34,8 @@ using System;
 using System.IO;
 using System.Runtime.InteropServices;
 using System.Runtime.Remoting.Messaging;
+using System.Threading;
+using System.Threading.Tasks;
 
 namespace System.IO.Compression
 {
@@ -130,6 +132,11 @@ namespace System.IO.Compression
 			}
 		}
 
+		internal ValueTask<int> ReadAsyncMemory (Memory<byte> destination, CancellationToken cancellationToken)
+		{
+			throw new NotImplementedException ();
+		}
+
 		internal int ReadCore (Span<byte> destination)
 		{
 			throw new NotImplementedException ();
@@ -165,6 +172,11 @@ namespace System.IO.Compression
 			}
 		}
 
+		internal Task WriteAsyncMemory (ReadOnlyMemory<byte> source, CancellationToken cancellationToken)
+		{
+			throw new NotImplementedException ();
+		}
+
 		internal void WriteCore (ReadOnlySpan<byte> source)
 		{
 			throw new NotImplementedException ();

+ 6 - 1
mcs/class/corlib/System.Runtime.CompilerServices/Unsafe.cs

@@ -39,7 +39,12 @@ namespace System.Runtime.CompilerServices
 		{
 			throw new NotImplementedException ();
 		}
-		
+
+		public unsafe static void* Add<T> (void* source, int elementOffset)
+		{
+			throw new NotImplementedException ();
+		}
+
 		public static ref T AddByteOffset<T> (ref T source, System.IntPtr byteOffset)
 		{
 			throw new NotImplementedException ();

+ 2 - 0
mcs/class/corlib/corefx/SR.cs

@@ -823,4 +823,6 @@ partial class SR
 	public const string CannotCallGetHashCodeOnSpan = "GetHashCode() on Span and ReadOnlySpan is not supported.";
 	public const string Argument_EmptyValue = "Value cannot be empty.";
 	public const string PlatformNotSupported_RuntimeInformation = "RuntimeInformation is not supported for Portable Class Libraries.";
+	public const string MemoryDisposed = "Memory<T> has been disposed.";
+	public const string OutstandingReferences = "Release all references before disposing this instance.";
 }

+ 13 - 0
mcs/class/corlib/corert/Stream.cs

@@ -1,3 +1,6 @@
+using System.Threading;
+using System.Threading.Tasks;
+
 namespace System.IO
 {
 	partial class Stream
@@ -11,5 +14,15 @@ namespace System.IO
 		{
 			throw new NotImplementedException ();
 		}
+
+		public virtual ValueTask<int> ReadAsync(Memory<byte> destination, CancellationToken cancellationToken = default(CancellationToken))
+		{
+			throw new NotImplementedException ();
+		}
+
+		public virtual Task WriteAsync(ReadOnlyMemory<byte> source, CancellationToken cancellationToken = default(CancellationToken))
+		{
+			throw new NotImplementedException ();
+		}
 	}
 }

+ 7 - 0
mcs/class/corlib/corlib.dll.sources

@@ -1679,17 +1679,24 @@ corefx/SR.cs
 ../../../external/corefx/src/System.Collections.Concurrent/src/System/Collections/Concurrent/Partitioner.cs
 ../../../external/corefx/src/System.Collections.Concurrent/src/System/Collections/Concurrent/PartitionerStatic.cs
 
+../../../external/corefx/src/System.Memory/src/System/Memory.cs
+../../../external/corefx/src/System.Memory/src/System/MemoryDebugView.cs
 ../../../external/corefx/src/System.Memory/src/System/Pinnable.cs
+../../../external/corefx/src/System.Memory/src/System/ReadOnlyMemory.cs
 ../../../external/corefx/src/System.Memory/src/System/ReadOnlySpan.cs
 ../../../external/corefx/src/System.Memory/src/System/Span.cs
 ../../../external/corefx/src/System.Memory/src/System/SpanDebugView.cs
 ../../../external/corefx/src/System.Memory/src/System/SpanHelpers.cs
 ../../../external/corefx/src/System.Memory/src/System/SpanHelpers.Clear.cs
 ../../../external/corefx/src/System.Memory/src/System/ThrowHelper.cs
+../../../external/corefx/src/System.Memory/src/System/Buffers/*.cs
 
 ../../../external/corefx/src/System.Runtime.InteropServices.RuntimeInformation/src/System/Runtime/InteropServices/RuntimeInformation/OSPlatform.cs
 ../../../external/corefx/src/System.Runtime.InteropServices.RuntimeInformation/src/System/Runtime/InteropServices/RuntimeInformation/Architecture.cs
 
+../../../external/corefx/src/System.Threading.Tasks.Extensions/src/System/Threading/Tasks/ValueTask.cs
+../../../external/corefx/src/System.Threading.Tasks.Extensions/src/System/Runtime/CompilerServices/*.cs
+
 System.Security.Cryptography.X509Certificates/X509CertificateImplApple.cs
 System.Security.Cryptography.X509Certificates/X509Helper.Apple.cs
 CoreFoundation/CFHelpers.cs

+ 3 - 3
mcs/class/corlib/corlib_xtest.dll.sources

@@ -154,10 +154,10 @@
 
 # System.Threading.Tasks
 ../../../external/corefx/src/System.Threading.Tasks/tests/System.Runtime.CompilerServices/*.cs
-../../../external/corefx/src/System.Threading.Tasks/tests/Task/*.cs:TaskStatusTest.netcoreapp.cs,EtwTests.cs,TaskCancelWaitTests.cs
+../../../external/corefx/src/System.Threading.Tasks/tests/Task/*.cs:*.netcoreapp.cs,TaskContinueWithTests.cs
 ../../../external/corefx/src/System.Threading.Tasks/tests/TaskFactory/*.cs
 ../../../external/corefx/src/System.Threading.Tasks/tests/TaskScheduler/*.cs
-../../../external/corefx/src/System.Threading.Tasks/tests/*.cs:UnwrapTests.cs
+../../../external/corefx/src/System.Threading.Tasks/tests/*.cs:UnwrapTests.cs,CancellationTokenTests.netcoreapp.cs
 
 # System.Threading.Tasks.Parallel
 ../../../external/corefx/src/System.Threading.Tasks.Parallel/tests/*.cs:XunitAssemblyAttributes.cs,EtwTests.cs
@@ -172,4 +172,4 @@
 ../../../external/corefx/src/System.Threading/tests/*.cs:MutexTests.cs,SemaphoreTests.cs,InterlockedTests.netcoreapp.cs,EventWaitHandleTests.cs,XunitAssemblyAttributes.cs,ReaderWriterLockTests.cs,SynchronizationContextTests.cs,ExecutionContextTests.cs,HostExecutionContextManagerTests.cs,EtwTests.cs
 
 # System.Text.RegularExpressions
-../../../external/corefx/src/System.Text.RegularExpressions/tests/*.cs:CaptureCollectionTests.netcoreapp.cs,GroupCollectionTests.netcoreapp.cs,MatchCollectionTests.netcoreapp.cs,Regex.Groups.Tests.cs,Regex.Match.Tests.cs,Regex.Serialization.cs,MatchCollectionTests.cs
+../../../external/corefx/src/System.Text.RegularExpressions/tests/*.cs:CaptureCollectionTests.netcoreapp.cs,GroupCollectionTests.netcoreapp.cs,MatchCollectionTests.netcoreapp.cs,PrecompiledRegexScenarioTest.cs,RegexCompilationInfoTests.cs,RegexGroupNameTests.cs,Regex.Groups.Tests.cs,Regex.Match.Tests.cs,Regex.Serialization.cs,MatchCollectionTests.cs,Regex.Ctor.Tests.cs,GroupCollectionTests2.cs,MatchCollectionTests2.cs,CaptureCollectionTests2.cs

+ 1 - 1
mcs/class/referencesource/mscorlib/system/text/encoderbestfitfallback.cs

@@ -124,7 +124,7 @@ namespace System.Text
                     0xD800, 0xDBFF));
 
             if (!Char.IsLowSurrogate(charUnknownLow))
-                throw new ArgumentOutOfRangeException("CharUnknownLow",
+                throw new ArgumentOutOfRangeException("charUnknownLow",
                     Environment.GetResourceString("ArgumentOutOfRange_Range",
                     0xDC00, 0xDFFF));
             Contract.EndContractBlock();

+ 2 - 2
mcs/class/referencesource/mscorlib/system/text/encoderexceptionfallback.cs

@@ -70,7 +70,7 @@ namespace System.Text
             }
             if (!Char.IsLowSurrogate(charUnknownLow))
             {
-                throw new ArgumentOutOfRangeException("CharUnknownLow",
+                throw new ArgumentOutOfRangeException("charUnknownLow",
                     Environment.GetResourceString("ArgumentOutOfRange_Range",
                     0xDC00, 0xDFFF));
             }
@@ -153,7 +153,7 @@ namespace System.Text
             }
             if (!Char.IsLowSurrogate(charUnknownLow))
             {
-                throw new ArgumentOutOfRangeException("CharUnknownLow",
+                throw new ArgumentOutOfRangeException("charUnknownLow",
                     Environment.GetResourceString("ArgumentOutOfRange_Range",
                     0xDC00, 0xDFFF));
             }

+ 1 - 1
mcs/class/referencesource/mscorlib/system/text/encoderreplacementfallback.cs

@@ -155,7 +155,7 @@ namespace System.Text
                     0xD800, 0xDBFF));
 
             if (!Char.IsLowSurrogate(charUnknownLow))
-                throw new ArgumentOutOfRangeException("CharUnknownLow",
+                throw new ArgumentOutOfRangeException("charUnknownLow",
                     Environment.GetResourceString("ArgumentOutOfRange_Range",
                     0xDC00, 0xDFFF));
             Contract.EndContractBlock();

+ 7 - 0
mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs

@@ -1565,6 +1565,13 @@ namespace System.Threading.Tasks
             return (flags & TASK_STATE_COMPLETED_MASK) != 0;
         }
 
+#if MONO
+        public bool IsCompletedSuccessfully
+        {
+            get { return (m_stateFlags & TASK_STATE_COMPLETED_MASK) == TASK_STATE_RAN_TO_COMPLETION; }
+        }
+#endif
+
         // For use in InternalWait -- marginally faster than (Task.Status == TaskStatus.RanToCompletion)
         internal bool IsRanToCompletion
         {

+ 2 - 0
mcs/class/referencesource/mscorlib/system/throwhelper.cs

@@ -472,6 +472,8 @@ namespace System {
         sourceBytesToCopy,
 #if MONO
         start,
+        pointer,
+        ownedMemory
 #endif
     }
 

+ 1 - 0
mcs/class/test-helpers/PlatformDetection.cs

@@ -8,5 +8,6 @@ namespace System
 		public static readonly bool IsFullFramework = true;
 		public static readonly bool IsWindowsNanoServer = false;
 		public static bool IsNonZeroLowerBoundArraySupported => true;
+		public static bool IsUap => false;
 	}
 }