From bac355422589d23b6db69f8bdb60f124bbcfad8c Mon Sep 17 00:00:00 2001 From: Xamarin Public Jenkins Date: Fri, 30 Oct 2015 12:42:46 -0400 Subject: [PATCH] Imported Upstream version 4.2.1.91 Former-commit-id: b6ad0994c58eaf044e2599fe2ff7996e073c87d2 --- .../threading/CancellationTokenSource.cs | 10 ++--- .../Microsoft.Build.BuildEngine/Engine.cs | 2 +- .../Test/Mono.Unix/UnixSignalTest.cs | 16 ++++--- .../ExpressionTest_Call.cs | 12 +++++- .../ExpressionTest_Equal.cs | 12 ++++++ .../ExpressionTest_NotEqual.cs | 24 +++++++++++ .../SocketTest.cs.REMOVED.git-id | 2 +- mcs/class/corlib/System/Console.cs | 7 +-- mcs/class/corlib/System/Console.iOS.cs | 2 +- mcs/class/corlib/System/Environment.cs | 3 +- .../CancellationTokenSourceTest.cs | 17 ++++---- .../monolite/Mono.Security.dll.REMOVED.git-id | 2 +- .../monolite/System.Xml.dll.REMOVED.git-id | 2 +- .../lib/monolite/System.dll.REMOVED.git-id | 2 +- .../lib/monolite/basic.exe.REMOVED.git-id | 2 +- .../lib/monolite/mscorlib.dll.REMOVED.git-id | 2 +- mcs/errors/cs1918.cs | 2 +- mcs/mcs/ecore.cs.REMOVED.git-id | 2 +- mcs/mcs/expression.cs.REMOVED.git-id | 2 +- mcs/mcs/statement.cs.REMOVED.git-id | 2 +- mcs/tests/gtest-autoproperty-21-lib.cs | 6 +++ mcs/tests/gtest-autoproperty-21.cs | 16 +++++++ mcs/tests/test-async-80.cs | 21 +++++++++ mcs/tests/test-dictinit-05.cs | 23 ++++++++++ mcs/tests/ver-il-net_4_5.xml.REMOVED.git-id | 2 +- .../xbuild/data/12.0/Microsoft.Common.targets | 4 +- .../xbuild/data/14.0/Microsoft.Common.targets | 4 +- .../xbuild/data/2.0/Microsoft.Common.targets | 4 +- .../xbuild/data/3.5/Microsoft.Common.targets | 4 +- .../xbuild/data/4.0/Microsoft.Common.targets | 4 +- mono/mini/Makefile.am | 2 +- mono/mini/Makefile.am.in | 2 +- mono/mini/Makefile.in.REMOVED.git-id | 2 +- mono/mini/debugger-agent.c.REMOVED.git-id | 2 +- mono/mini/iltests.il.in | 16 +++++++ mono/mini/method-to-ir.c.REMOVED.git-id | 2 +- mono/mini/mini-generic-sharing.c | 3 ++ mono/mini/mini-llvm.c.REMOVED.git-id | 2 +- mono/mini/version.h | 2 +- po/mcs/de.gmo | Bin 5406 -> 5406 bytes po/mcs/de.po.REMOVED.git-id | 2 +- po/mcs/es.gmo | Bin 16329 -> 16329 bytes po/mcs/es.po.REMOVED.git-id | 2 +- po/mcs/ja.gmo | Bin 20863 -> 20863 bytes po/mcs/ja.po.REMOVED.git-id | 2 +- po/mcs/mcs.pot | 40 +++++++++--------- po/mcs/pt_BR.gmo | Bin 73161 -> 73161 bytes po/mcs/pt_BR.po.REMOVED.git-id | 2 +- 48 files changed, 211 insertions(+), 83 deletions(-) create mode 100644 mcs/tests/gtest-autoproperty-21-lib.cs create mode 100644 mcs/tests/gtest-autoproperty-21.cs create mode 100644 mcs/tests/test-async-80.cs create mode 100644 mcs/tests/test-dictinit-05.cs diff --git a/external/referencesource/mscorlib/system/threading/CancellationTokenSource.cs b/external/referencesource/mscorlib/system/threading/CancellationTokenSource.cs index f5e97cba45..a0a682b859 100644 --- a/external/referencesource/mscorlib/system/threading/CancellationTokenSource.cs +++ b/external/referencesource/mscorlib/system/threading/CancellationTokenSource.cs @@ -71,7 +71,7 @@ namespace System.Threading /// actually run the callbacks. private volatile int m_threadIDExecutingCallbacks = -1; - private bool m_disposed; + private int m_disposed; private CancellationTokenRegistration [] m_linkingRegistrations; //lazily initialized if required. @@ -134,7 +134,7 @@ namespace System.Threading /// internal bool IsDisposed { - get { return m_disposed; } + get { return m_disposed == 1; } } /// @@ -573,7 +573,7 @@ namespace System.Threading // mutates a sparseArrayFragment and then reads from properties of the CTS that are not // invalidated by cts.Dispose(). - if (m_disposed) + if (m_disposed != 0 || Interlocked.CompareExchange (ref m_disposed, 1, 0) != 0) return; if (m_timer != null) m_timer.Dispose(); @@ -598,8 +598,6 @@ namespace System.Threading m_kernelEvent.Close(); // the critical cleanup to release an OS handle m_kernelEvent = null; // free for GC. } - - m_disposed = true; } } @@ -613,7 +611,7 @@ namespace System.Threading #endif internal void ThrowIfDisposed() { - if (m_disposed) + if (m_disposed == 1) ThrowObjectDisposedException(); } diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Engine.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Engine.cs index 8cd12c087d..fe7150eee1 100644 --- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Engine.cs +++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Engine.cs @@ -93,7 +93,7 @@ namespace Microsoft.Build.BuildEngine { { this.binPath = binPath; this.buildEnabled = true; - this.projects = new Dictionary (); + this.projects = new Dictionary (StringComparer.OrdinalIgnoreCase); this.eventSource = new EventSource (); this.loggers = new List (); this.buildStarted = false; diff --git a/mcs/class/Mono.Posix/Test/Mono.Unix/UnixSignalTest.cs b/mcs/class/Mono.Posix/Test/Mono.Unix/UnixSignalTest.cs index 8d4c63c656..14613104d9 100644 --- a/mcs/class/Mono.Posix/Test/Mono.Unix/UnixSignalTest.cs +++ b/mcs/class/Mono.Posix/Test/Mono.Unix/UnixSignalTest.cs @@ -410,7 +410,6 @@ namespace MonoTests.Mono.Unix { const int StormCount = 100000; [Test] - [Category("NotOnMac")] // OSX signal storming will not deliver every one public void TestRaiseStorm () { UnixSignal[] usignals = CreateSignals (signals); @@ -424,7 +423,7 @@ namespace MonoTests.Mono.Unix { t.Start (); foreach (Thread t in threads) t.Join (); - AssertCount (usignals); + AssertCountSet (usignals); CloseSignals (usignals); } @@ -436,6 +435,13 @@ namespace MonoTests.Mono.Unix { Assert.AreEqual (sum, StormCount); } + static void AssertCountSet (UnixSignal[] usignals) + { + foreach (UnixSignal s in usignals) { + Assert.IsTrue (s.Count > 0); + } + } + static UnixSignal[] CreateSignals (Signum[] signals) { UnixSignal[] s = new UnixSignal [signals.Length]; @@ -462,7 +468,6 @@ namespace MonoTests.Mono.Unix { } [Test] - [Category("NotOnMac")] // OSX signal storming will not deliver every one public void TestAddRemove () { UnixSignal[] usignals = CreateSignals (signals); @@ -477,7 +482,7 @@ namespace MonoTests.Mono.Unix { foreach (Thread t in threads) t.Join (); - AssertCount (usignals); + AssertCountSet (usignals); CloseSignals (usignals); } @@ -497,7 +502,6 @@ namespace MonoTests.Mono.Unix { } [Test] - [Category("NotOnMac")] // OSX signal storming will not deliver every one public void TestWaitAny () { UnixSignal[] usignals = CreateSignals (signals); @@ -515,7 +519,7 @@ namespace MonoTests.Mono.Unix { foreach (Thread t in threads) t.Join (); - AssertCount (usignals); + AssertCountSet (usignals); CloseSignals (usignals); } diff --git a/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Call.cs b/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Call.cs index e4cd69c597..4e96356684 100644 --- a/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Call.cs +++ b/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Call.cs @@ -243,6 +243,17 @@ namespace MonoTests.System.Linq.Expressions { return 42; } + [Test] + public void CallMethodOnDateTime () + { + var left = Expression.Call (Expression.Constant (DateTime.Now), typeof(DateTime).GetMethod ("AddDays"), Expression.Constant (-5.0)); + var right = Expression.Constant (DateTime.Today); + var expr = Expression.GreaterThan (left, right); + + var eq = Expression.Lambda> (expr).Compile (); + Assert.IsFalse (eq ()); + } + [Test] [Category ("NotDotNet")] // http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=339351 [ExpectedException (typeof (ArgumentException))] @@ -398,7 +409,6 @@ namespace MonoTests.System.Linq.Expressions { } [Test] - [Category ("NotWorkingInterpreter")] public void Connect282702 () { var lambda = Expression.Lambda>> ( diff --git a/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Equal.cs b/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Equal.cs index 497955c4a4..61e9ca19db 100644 --- a/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Equal.cs +++ b/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_Equal.cs @@ -93,6 +93,18 @@ namespace MonoTests.System.Linq.Expressions Assert.IsFalse (eq ()); } + [Test] + public void StringWithNull () + { + BinaryExpression expr = Expression.Equal (Expression.Constant ("a"), Expression.Constant (null)); + Assert.AreEqual (ExpressionType.Equal, expr.NodeType); + Assert.AreEqual (typeof (bool), expr.Type); + Assert.IsNull (expr.Method); + + var eq = Expression.Lambda> (expr).Compile (); + Assert.IsFalse (eq ()); + } + [Test] public void Nullable_LiftToNull_SetToFalse () { diff --git a/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_NotEqual.cs b/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_NotEqual.cs index 24722033eb..6ac2a8a81f 100644 --- a/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_NotEqual.cs +++ b/mcs/class/System.Core/Test/System.Linq.Expressions/ExpressionTest_NotEqual.cs @@ -79,6 +79,30 @@ namespace MonoTests.System.Linq.Expressions Assert.AreEqual ("(1 != 2)", expr.ToString ()); } + [Test] + public void PrimitiveNonNumeric () + { + BinaryExpression expr = Expression.NotEqual (Expression.Constant ('a'), Expression.Constant ('b')); + Assert.AreEqual (ExpressionType.NotEqual, expr.NodeType); + Assert.AreEqual (typeof (bool), expr.Type); + Assert.IsNull (expr.Method); + + var eq = Expression.Lambda> (expr).Compile (); + Assert.IsTrue (eq ()); + } + + [Test] + public void StringWithNull () + { + BinaryExpression expr = Expression.NotEqual (Expression.Constant ("a"), Expression.Constant (null)); + Assert.AreEqual (ExpressionType.NotEqual, expr.NodeType); + Assert.AreEqual (typeof (bool), expr.Type); + Assert.IsNull (expr.Method); + + var eq = Expression.Lambda> (expr).Compile (); + Assert.IsTrue (eq ()); + } + [Test] public void Nullable_LiftToNull_SetToFalse () { diff --git a/mcs/class/System/Test/System.Net.Sockets/SocketTest.cs.REMOVED.git-id b/mcs/class/System/Test/System.Net.Sockets/SocketTest.cs.REMOVED.git-id index 29d4dd079d..3b2d0b71f5 100644 --- a/mcs/class/System/Test/System.Net.Sockets/SocketTest.cs.REMOVED.git-id +++ b/mcs/class/System/Test/System.Net.Sockets/SocketTest.cs.REMOVED.git-id @@ -1 +1 @@ -fbc2bff995e010b1e2e97373f5bd7a86db9b7aba \ No newline at end of file +59e3f322dd87722098b2661868ee3cd268f44676 \ No newline at end of file diff --git a/mcs/class/corlib/System/Console.cs b/mcs/class/corlib/System/Console.cs index deb3eaf4bf..451ace2ad2 100644 --- a/mcs/class/corlib/System/Console.cs +++ b/mcs/class/corlib/System/Console.cs @@ -152,10 +152,7 @@ namespace System stdin = new CStreamReader (OpenStandardInput (0), inputEncoding); } else { #endif -// FULL_AOT_RUNTIME is used (instead of MONOTOUCH) since we only want this code when running on -// iOS (simulator or devices) and *not* when running tools (e.g. btouch #12179) that needs to use -// the mscorlib.dll shipped with Xamarin.iOS -#if MONOTOUCH && FULL_AOT_RUNTIME +#if MONOTOUCH stdout = new NSLogWriter (); #else stdout = new UnexceptionalStreamWriter (OpenStandardOutput (0), outputEncoding); @@ -163,7 +160,7 @@ namespace System #endif stdout = TextWriter.Synchronized (stdout); -#if MONOTOUCH && FULL_AOT_RUNTIME +#if MONOTOUCH stderr = new NSLogWriter (); #else stderr = new UnexceptionalStreamWriter (OpenStandardError (0), outputEncoding); diff --git a/mcs/class/corlib/System/Console.iOS.cs b/mcs/class/corlib/System/Console.iOS.cs index 00ebfb3e84..3329b8046a 100644 --- a/mcs/class/corlib/System/Console.iOS.cs +++ b/mcs/class/corlib/System/Console.iOS.cs @@ -7,7 +7,7 @@ // Copyright 2012-2014 Xamarin Inc. All rights reserved. // -#if FULL_AOT_RUNTIME +#if MONOTOUCH using System; using System.IO; diff --git a/mcs/class/corlib/System/Environment.cs b/mcs/class/corlib/System/Environment.cs index d9267ac323..2553a400be 100644 --- a/mcs/class/corlib/System/Environment.cs +++ b/mcs/class/corlib/System/Environment.cs @@ -549,8 +549,7 @@ namespace System { return GetFolderPath (folder, SpecialFolderOption.None); } -// for monotouch, not monotouch_runtime -#if !(MONOTOUCH && FULL_AOT_RUNTIME) +#if !MONOTOUCH [MethodImplAttribute (MethodImplOptions.InternalCall)] private extern static string GetWindowsFolderPath (int folder); diff --git a/mcs/class/corlib/Test/System.Threading/CancellationTokenSourceTest.cs b/mcs/class/corlib/Test/System.Threading/CancellationTokenSourceTest.cs index 5bf805aae0..8d50a520cf 100644 --- a/mcs/class/corlib/Test/System.Threading/CancellationTokenSourceTest.cs +++ b/mcs/class/corlib/Test/System.Threading/CancellationTokenSourceTest.cs @@ -33,7 +33,6 @@ using System; using System.Threading; using NUnit.Framework; using System.Threading.Tasks; -using MonoTests.System.Threading.Tasks; namespace MonoTests.System.Threading { @@ -447,10 +446,11 @@ namespace MonoTests.System.Threading Assert.IsTrue (canceled, "#3"); } + [Category ("NotWorking")] // why would linked token be imune to ObjectDisposedException on Cancel? [Test] public void ConcurrentCancelLinkedTokenSourceWhileDisposing () { - ParallelTestHelper.Repeat (delegate { + for (int i = 0, total = 500; i < total; ++i) { var src = new CancellationTokenSource (); var linked = CancellationTokenSource.CreateLinkedTokenSource (src.Token); var cntd = new CountdownEvent (2); @@ -470,20 +470,19 @@ namespace MonoTests.System.Threading t2.Start (); t1.Join (500); t2.Join (500); - }, 500); + } } #if NET_4_5 [Test] public void DisposeRace () { - for (int i = 0; i < 1000; ++i) { + for (int i = 0, total = 1000; i < total; ++i) { var c1 = new CancellationTokenSource (); - using (c1) { - var wh = c1.Token.WaitHandle; - c1.CancelAfter (1); - Thread.Sleep (1); - } + var wh = c1.Token.WaitHandle; + c1.CancelAfter (1); + Thread.Sleep (1); + c1.Dispose (); } } #endif diff --git a/mcs/class/lib/monolite/Mono.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite/Mono.Security.dll.REMOVED.git-id index 3ef7f01f2a..7ed51a40d9 100644 --- a/mcs/class/lib/monolite/Mono.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite/Mono.Security.dll.REMOVED.git-id @@ -1 +1 @@ -1fdb613e86f18f2b9886f4967a0bdc43f79fef7e \ No newline at end of file +7709d423804e0b435e60e7ca74f198f20d02a535 \ No newline at end of file diff --git a/mcs/class/lib/monolite/System.Xml.dll.REMOVED.git-id b/mcs/class/lib/monolite/System.Xml.dll.REMOVED.git-id index 55e165bbfd..81e49e8800 100644 --- a/mcs/class/lib/monolite/System.Xml.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite/System.Xml.dll.REMOVED.git-id @@ -1 +1 @@ -70d97fe10dc6037275080996eac59af0d68e1561 \ No newline at end of file +1dcbcac9b7a00d7ca093ca63316c407012521308 \ No newline at end of file diff --git a/mcs/class/lib/monolite/System.dll.REMOVED.git-id b/mcs/class/lib/monolite/System.dll.REMOVED.git-id index a7faa6defd..cc65f95110 100644 --- a/mcs/class/lib/monolite/System.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite/System.dll.REMOVED.git-id @@ -1 +1 @@ -06bd1619ad328b5c34a59a366c095894e50efd56 \ No newline at end of file +c49c24eeb8abb839f5be49574e83c8ad4caaa8e3 \ No newline at end of file diff --git a/mcs/class/lib/monolite/basic.exe.REMOVED.git-id b/mcs/class/lib/monolite/basic.exe.REMOVED.git-id index e2e1ecf7dc..d1a0c62c77 100644 --- a/mcs/class/lib/monolite/basic.exe.REMOVED.git-id +++ b/mcs/class/lib/monolite/basic.exe.REMOVED.git-id @@ -1 +1 @@ -5b9fdc62b8f41a0b32a323e04f253e4de34cd483 \ No newline at end of file +d6ee7490dcb9342db71705f7f6b807f6a85a6cf0 \ No newline at end of file diff --git a/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id b/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id index c9d79d0736..6351f0df04 100644 --- a/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id @@ -1 +1 @@ -a6fc9a5ca70542579710af7ccfbd377501d45c30 \ No newline at end of file +37a62e86a907ce0337c9690758f816e78370f82f \ No newline at end of file diff --git a/mcs/errors/cs1918.cs b/mcs/errors/cs1918.cs index 245d6bef89..b1f3254201 100644 --- a/mcs/errors/cs1918.cs +++ b/mcs/errors/cs1918.cs @@ -10,7 +10,7 @@ struct S class C { public S Value { - set { } + set; get; } static void Main () diff --git a/mcs/mcs/ecore.cs.REMOVED.git-id b/mcs/mcs/ecore.cs.REMOVED.git-id index 26a9a9bc6d..258b4d191f 100644 --- a/mcs/mcs/ecore.cs.REMOVED.git-id +++ b/mcs/mcs/ecore.cs.REMOVED.git-id @@ -1 +1 @@ -4225b585eea7227c7a3a236f80f3f28a3dd9919b \ No newline at end of file +952a85f9aa45898c3fc21f1c1f92ff5f87a2df6a \ No newline at end of file diff --git a/mcs/mcs/expression.cs.REMOVED.git-id b/mcs/mcs/expression.cs.REMOVED.git-id index 83c589296a..e2a5eaea34 100644 --- a/mcs/mcs/expression.cs.REMOVED.git-id +++ b/mcs/mcs/expression.cs.REMOVED.git-id @@ -1 +1 @@ -acdcf32485d622ab24dcb505dba5e58729d82483 \ No newline at end of file +f815830cd5626bb85f053420b1d6fcf19e0aeb2a \ No newline at end of file diff --git a/mcs/mcs/statement.cs.REMOVED.git-id b/mcs/mcs/statement.cs.REMOVED.git-id index 5c0d78a1a4..98c1378977 100644 --- a/mcs/mcs/statement.cs.REMOVED.git-id +++ b/mcs/mcs/statement.cs.REMOVED.git-id @@ -1 +1 @@ -10fc11219613f2b3a69c251bbcc78e4adf6e8605 \ No newline at end of file +4890a89176f14b897192c352ad5f41d0077e3047 \ No newline at end of file diff --git a/mcs/tests/gtest-autoproperty-21-lib.cs b/mcs/tests/gtest-autoproperty-21-lib.cs new file mode 100644 index 0000000000..15e9fa97b4 --- /dev/null +++ b/mcs/tests/gtest-autoproperty-21-lib.cs @@ -0,0 +1,6 @@ +// Compiler options: -t:library + +public abstract class Base +{ + public abstract string Value { get; } +} diff --git a/mcs/tests/gtest-autoproperty-21.cs b/mcs/tests/gtest-autoproperty-21.cs new file mode 100644 index 0000000000..4a900c8ca9 --- /dev/null +++ b/mcs/tests/gtest-autoproperty-21.cs @@ -0,0 +1,16 @@ +// Compiler options: -r:gtest-autoproperty-21-lib.dll + +public class Subclass : Base +{ + public override string Value { get; } + + public Subclass () + { + Value = "test"; + } + + public static void Main () + { + new Subclass (); + } +} \ No newline at end of file diff --git a/mcs/tests/test-async-80.cs b/mcs/tests/test-async-80.cs new file mode 100644 index 0000000000..3f2b1274a9 --- /dev/null +++ b/mcs/tests/test-async-80.cs @@ -0,0 +1,21 @@ +using System.Threading.Tasks; +using System; + +class X +{ + public async Task Test (int arg) + { + await Task.Run (async () => { + await Task.Run (async () => { + Console.WriteLine (this); + }); + return arg; + } + ); + } + + public static void Main () + { + new X().Test(1).Wait (); + } +} \ No newline at end of file diff --git a/mcs/tests/test-dictinit-05.cs b/mcs/tests/test-dictinit-05.cs new file mode 100644 index 0000000000..2d05213095 --- /dev/null +++ b/mcs/tests/test-dictinit-05.cs @@ -0,0 +1,23 @@ +using System.Collections.Generic; + +class A { + public A () + { + Info = new Dictionary(); + } + + public Dictionary Info { get; set; } +} + +class X +{ + public static void Main () + { + var x = new A () { + Info = { + ["x"] = 1, + ["y"] = 2 + } + }; + } +} \ No newline at end of file diff --git a/mcs/tests/ver-il-net_4_5.xml.REMOVED.git-id b/mcs/tests/ver-il-net_4_5.xml.REMOVED.git-id index 4ce40fd7d7..fbb1b18ba7 100644 --- a/mcs/tests/ver-il-net_4_5.xml.REMOVED.git-id +++ b/mcs/tests/ver-il-net_4_5.xml.REMOVED.git-id @@ -1 +1 @@ -4a970c00528488693bba23a5f9eda9b860437527 \ No newline at end of file +08b0ee8ce9da391ffa51e1cc3eb0a3611adf5b5e \ No newline at end of file diff --git a/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets b/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets index fdf43ccd48..3c27732bf4 100644 --- a/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets +++ b/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets @@ -328,13 +328,13 @@ + Condition="'$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true'"> - + diff --git a/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets b/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets index d420c09366..36f1255986 100644 --- a/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets +++ b/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets @@ -313,13 +313,13 @@ + Condition="'$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true'"> - + diff --git a/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets b/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets index 31fd0bc580..079b8e092a 100644 --- a/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets +++ b/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets @@ -194,13 +194,13 @@ + Condition="'$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true'"> - + diff --git a/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets b/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets index 5e5a5679eb..c3f560a5f0 100644 --- a/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets +++ b/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets @@ -224,13 +224,13 @@ + Condition="'$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true'"> - + diff --git a/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets b/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets index 832b54fbef..47b6b7f36e 100644 --- a/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets +++ b/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets @@ -328,13 +328,13 @@ + Condition="'$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true'"> - + diff --git a/mono/mini/Makefile.am b/mono/mini/Makefile.am index a27e7354b5..377586fb40 100644 --- a/mono/mini/Makefile.am +++ b/mono/mini/Makefile.am @@ -749,7 +749,7 @@ EXTRA_DIST = TestDriver.cs \ Makefile.am.in version.h: Makefile - echo "#define FULL_VERSION \"Stable 4.2.1.60/804ddbc\"" > version.h + echo "#define FULL_VERSION \"Stable 4.2.1.91/8862921\"" > version.h # Utility target for patching libtool to speed up linking patch-libtool: diff --git a/mono/mini/Makefile.am.in b/mono/mini/Makefile.am.in index a27e7354b5..377586fb40 100755 --- a/mono/mini/Makefile.am.in +++ b/mono/mini/Makefile.am.in @@ -749,7 +749,7 @@ EXTRA_DIST = TestDriver.cs \ Makefile.am.in version.h: Makefile - echo "#define FULL_VERSION \"Stable 4.2.1.60/804ddbc\"" > version.h + echo "#define FULL_VERSION \"Stable 4.2.1.91/8862921\"" > version.h # Utility target for patching libtool to speed up linking patch-libtool: diff --git a/mono/mini/Makefile.in.REMOVED.git-id b/mono/mini/Makefile.in.REMOVED.git-id index 4b1157c6e2..7731a45fd5 100644 --- a/mono/mini/Makefile.in.REMOVED.git-id +++ b/mono/mini/Makefile.in.REMOVED.git-id @@ -1 +1 @@ -080f9cc654f5abb2d7030948dfd47427b8979777 \ No newline at end of file +cc5a13de3ef26e6c31e86204057f98f071d1db3b \ No newline at end of file diff --git a/mono/mini/debugger-agent.c.REMOVED.git-id b/mono/mini/debugger-agent.c.REMOVED.git-id index 9fe77f440c..6caafb23f2 100644 --- a/mono/mini/debugger-agent.c.REMOVED.git-id +++ b/mono/mini/debugger-agent.c.REMOVED.git-id @@ -1 +1 @@ -0458c47551638425b42b9b304999eab0ae33938f \ No newline at end of file +9f1ffc219a37d5eeeb79f9ec05eeb38218fe628c \ No newline at end of file diff --git a/mono/mini/iltests.il.in b/mono/mini/iltests.il.in index 8510917341..bf1153ccae 100644 --- a/mono/mini/iltests.il.in +++ b/mono/mini/iltests.il.in @@ -2781,4 +2781,20 @@ END: IL_001d: ldc.i4.1 IL_001e: ret } // end of method Tests::test_0_fceq_r4 + + .method public static int32 test_0_switch_loop () cil managed + { + .maxstack 16 + .locals init (valuetype Tests/TailCallStruct V_0, int32 V_1) + ldc.i4.0 + ldloc.0 + ldloc.1 + brtrue L_1 + L_0: + ldc.i4.4 + switch (L_0) + L_1: + pop + ret + } } diff --git a/mono/mini/method-to-ir.c.REMOVED.git-id b/mono/mini/method-to-ir.c.REMOVED.git-id index 27a78b7d10..7e73664149 100644 --- a/mono/mini/method-to-ir.c.REMOVED.git-id +++ b/mono/mini/method-to-ir.c.REMOVED.git-id @@ -1 +1 @@ -24b171b7d02edaa3d317cb6d27de214a3e476267 \ No newline at end of file +cb63252e0018b9aefb43fe181130006eafb121b8 \ No newline at end of file diff --git a/mono/mini/mini-generic-sharing.c b/mono/mini/mini-generic-sharing.c index 9415c88cdc..1f737ffe0d 100644 --- a/mono/mini/mini-generic-sharing.c +++ b/mono/mini/mini-generic-sharing.c @@ -1192,6 +1192,7 @@ instantiate_info (MonoDomain *domain, MonoRuntimeGenericContextInfoTemplate *oti MonoJumpInfoVirtMethod *info = data; MonoClass *iface_class = info->method->klass; MonoMethod *method; + MonoError error; int ioffset, slot; gpointer addr; @@ -1208,6 +1209,8 @@ instantiate_info (MonoDomain *domain, MonoRuntimeGenericContextInfoTemplate *oti g_assert (info->klass->vtable); method = info->klass->vtable [ioffset + slot]; + method = mono_class_inflate_generic_method_checked (method, context, &error); + addr = mono_compile_method (method); return mini_add_method_trampoline (method, addr, mono_method_needs_static_rgctx_invoke (method, FALSE), FALSE); } diff --git a/mono/mini/mini-llvm.c.REMOVED.git-id b/mono/mini/mini-llvm.c.REMOVED.git-id index 7e661e1a42..29a6198b67 100644 --- a/mono/mini/mini-llvm.c.REMOVED.git-id +++ b/mono/mini/mini-llvm.c.REMOVED.git-id @@ -1 +1 @@ -a261c17d24d07d1c29cbb197cabc259fe882f1b7 \ No newline at end of file +666db656def6f046f9979d20d4a061f7ed66a72d \ No newline at end of file diff --git a/mono/mini/version.h b/mono/mini/version.h index 45b7e1079b..70e6443e9e 100644 --- a/mono/mini/version.h +++ b/mono/mini/version.h @@ -1 +1 @@ -#define FULL_VERSION "Stable 4.2.1.60/804ddbc" +#define FULL_VERSION "Stable 4.2.1.91/8862921" diff --git a/po/mcs/de.gmo b/po/mcs/de.gmo index 2cd8b278fb695586ff96daa23c7e4784a4eaef4b..a90e4471becd16de740192ab21514b68fe9fa64d 100644 GIT binary patch delta 21 ccmbQIHBW296D|&80|i4PDp#T5? delta 21 ccmbQIHBW296D|$|GX(=vD+9yLZ@7%O08kAEq5uE@ diff --git a/po/mcs/de.po.REMOVED.git-id b/po/mcs/de.po.REMOVED.git-id index 817aee9f79..5ebab1bf79 100644 --- a/po/mcs/de.po.REMOVED.git-id +++ b/po/mcs/de.po.REMOVED.git-id @@ -1 +1 @@ -b75dfdb860929f1f54efefc462287a9efaa4d642 \ No newline at end of file +5e0bd609c38f27a1470489ce576b6e907fdb6889 \ No newline at end of file diff --git a/po/mcs/es.gmo b/po/mcs/es.gmo index 173fdac7f0d5a80a882c0ee00bcb1a7f5a0fd078..dccef9ea732cdb2206daac498387b0549b38166b 100644 GIT binary patch delta 21 ccmX?Ef3kjqt|EuAfr6otm67pgQ^hHA09SPe*8l(j delta 21 ccmX?Ef3kjqt|EtlnSz0-m4V@AQ^hHA09TC$*Z=?k diff --git a/po/mcs/es.po.REMOVED.git-id b/po/mcs/es.po.REMOVED.git-id index b2a80bcc90..854ae16190 100644 --- a/po/mcs/es.po.REMOVED.git-id +++ b/po/mcs/es.po.REMOVED.git-id @@ -1 +1 @@ -1c98958bcd4cb878860930dc7f4aae05a6f4e48e \ No newline at end of file +31df00aa8d2e7d75a24bd99be34a9ea50ac8bd27 \ No newline at end of file diff --git a/po/mcs/ja.gmo b/po/mcs/ja.gmo index 55dde3129c6526c3ef8c797e8ddfdaaf2dfedc0b..1dad9049a5c52673d73a1734e70ee57d6db4075d 100644 GIT binary patch delta 23 ecmeyri1Gg-#trQ19L5F;hDKIK#+&)o3$y@dTL&`$ delta 23 ecmeyri1Gg-#trQ190q0z2Bua9hMW1-3$y@da|bj4 diff --git a/po/mcs/ja.po.REMOVED.git-id b/po/mcs/ja.po.REMOVED.git-id index 03cf64c25b..51739c46d3 100644 --- a/po/mcs/ja.po.REMOVED.git-id +++ b/po/mcs/ja.po.REMOVED.git-id @@ -1 +1 @@ -c4ca0fdff467e7a69c3da9737d49025f96868a34 \ No newline at end of file +c07f515acf23bce96687e1d3109cabfba01e06f5 \ No newline at end of file diff --git a/po/mcs/mcs.pot b/po/mcs/mcs.pot index bfca5d2773..854f8dad0c 100644 --- a/po/mcs/mcs.pot +++ b/po/mcs/mcs.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: mono 4.2.1\n" "Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n" -"POT-Creation-Date: 2015-10-06 05:01-0400\n" +"POT-Creation-Date: 2015-10-30 12:23-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1744,59 +1744,59 @@ msgstr "" msgid "Use of possibly unassigned auto-implemented property `{0}'" msgstr "" -#: mcs/mcs/ecore.cs:7161 +#: mcs/mcs/ecore.cs:7158 #, csharp-format msgid "A range variable `{0}' may not be passes as `ref' or `out' parameter" msgstr "" -#: mcs/mcs/ecore.cs:7184 +#: mcs/mcs/ecore.cs:7181 #, csharp-format msgid "Property or indexer `{0}' cannot be assigned to (it is read-only)" msgstr "" -#: mcs/mcs/ecore.cs:7192 +#: mcs/mcs/ecore.cs:7189 #, csharp-format msgid "" "The property or indexer `{0}' cannot be used in this context because the set " "accessor is inaccessible" msgstr "" -#: mcs/mcs/ecore.cs:7272 +#: mcs/mcs/ecore.cs:7269 #, csharp-format msgid "" "The property or indexer `{0}' cannot be used in this context because it " "lacks the `get' accessor" msgstr "" -#: mcs/mcs/ecore.cs:7279 +#: mcs/mcs/ecore.cs:7276 #, csharp-format msgid "" "The property or indexer `{0}' cannot be used in this context because the get " "accessor is inaccessible" msgstr "" -#: mcs/mcs/ecore.cs:7465 +#: mcs/mcs/ecore.cs:7462 #, csharp-format msgid "" "The event `{0}' can only appear on the left hand side of `+=' or `-=' " "operator" msgstr "" -#: mcs/mcs/ecore.cs:7469 +#: mcs/mcs/ecore.cs:7466 #, csharp-format msgid "" "The event `{0}' can only appear on the left hand side of += or -= when used " "outside of the type `{1}'" msgstr "" -#: mcs/mcs/ecore.cs:7641 +#: mcs/mcs/ecore.cs:7638 #, csharp-format msgid "" "An implicitly typed local variable declaration cannot be initialized with " "`{0}'" msgstr "" -#: mcs/mcs/ecore.cs:7656 +#: mcs/mcs/ecore.cs:7653 msgid "" "The contextual keyword `var' may only appear within a local variable " "declaration" @@ -2237,56 +2237,56 @@ msgstr "" msgid "Cannot use stackalloc in finally or catch" msgstr "" -#: mcs/mcs/expression.cs:11730 +#: mcs/mcs/expression.cs:11735 #, csharp-format msgid "" "Member `{0}' cannot be initialized. An object initializer may only be used " "for fields, or properties" msgstr "" -#: mcs/mcs/expression.cs:11738 +#: mcs/mcs/expression.cs:11743 #, csharp-format msgid "" "Static field or property `{0}' cannot be assigned in an object initializer" msgstr "" -#: mcs/mcs/expression.cs:11842 +#: mcs/mcs/expression.cs:11847 msgid "Expression tree cannot contain a dictionary initializer" msgstr "" -#: mcs/mcs/expression.cs:11967 +#: mcs/mcs/expression.cs:11972 #, csharp-format msgid "" "A field or property `{0}' cannot be initialized with a collection object " "initializer because type `{1}' does not implement `{2}' interface" msgstr "" -#: mcs/mcs/expression.cs:11978 +#: mcs/mcs/expression.cs:11983 #, csharp-format msgid "Inconsistent `{0}' member declaration" msgstr "" -#: mcs/mcs/expression.cs:11986 +#: mcs/mcs/expression.cs:11991 #, csharp-format msgid "" "An object initializer includes more than one member `{0}' initialization" msgstr "" -#: mcs/mcs/expression.cs:12004 +#: mcs/mcs/expression.cs:12009 #, csharp-format msgid "Cannot initialize object of type `{0}' with a collection initializer" msgstr "" -#: mcs/mcs/expression.cs:12149 +#: mcs/mcs/expression.cs:12154 msgid "" "Object and collection initializers cannot be used to instantiate a delegate" msgstr "" -#: mcs/mcs/expression.cs:12357 +#: mcs/mcs/expression.cs:12362 msgid "Anonymous types cannot be used in this expression" msgstr "" -#: mcs/mcs/expression.cs:12451 +#: mcs/mcs/expression.cs:12456 #, csharp-format msgid "An anonymous type property `{0}' cannot be initialized with `{1}'" msgstr "" diff --git a/po/mcs/pt_BR.gmo b/po/mcs/pt_BR.gmo index 4dea3e3db16273dcdaad182895ca0a511cc0c2cf..1e28e2811b30414e860ee4f4c45fab1a9c51d6ee 100644 GIT binary patch delta 23 fcmX@Po8{zgmJO2AIE)Px42`Uej5jMzThR^xY{CeZ delta 23 fcmX@Po8{zgmJO2AI1J1b3{0&I3^yxIThR^xY}yEy diff --git a/po/mcs/pt_BR.po.REMOVED.git-id b/po/mcs/pt_BR.po.REMOVED.git-id index 129dee6dc2..1d4bb62551 100644 --- a/po/mcs/pt_BR.po.REMOVED.git-id +++ b/po/mcs/pt_BR.po.REMOVED.git-id @@ -1 +1 @@ -0e40af127109b02fbd5bb5af7859cc05846654b9 \ No newline at end of file +7bfc7e72a14e9d8825dcd7cd26dfc111b8f635c3 \ No newline at end of file