From bdd40f83c0ecdbbab1e8469c3210db8a962ed981 Mon Sep 17 00:00:00 2001 From: Xamarin Public Jenkins Date: Tue, 6 Oct 2015 08:40:39 -0400 Subject: [PATCH] Imported Upstream version 4.2.1.60 Former-commit-id: 05052d1d7a3a94b0d9ee70461d62b6591e5ab5bc --- Makefile.in | 4 +- man/mcs.1 | 4 +- .../System.Net.Http/HttpClientHandler.cs | 8 + .../Test/System.Net.Http/HttpClientTest.cs | 33 ++ .../SocketTest.cs.REMOVED.git-id | 2 +- mcs/class/corlib/System/Delegate.cs | 27 +- mcs/class/corlib/System/Environment.cs | 2 +- .../Test/System.Reflection/MethodInfoTest.cs | 71 ++-- .../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/cs0023-26.cs | 15 + mcs/mcs/context.cs | 2 +- mcs/mcs/delegate.cs | 30 +- mcs/mcs/ecore.cs.REMOVED.git-id | 2 +- mcs/mcs/expression.cs.REMOVED.git-id | 2 +- mcs/mcs/settings.cs | 2 +- mcs/tests/test-null-operator-04.cs | 14 - mcs/tests/ver-il-net_4_5.xml.REMOVED.git-id | 2 +- mono/io-layer/sockets.c | 2 +- mono/metadata/appdomain.c | 2 +- .../culture-info-tables.h.REMOVED.git-id | 2 +- mono/metadata/icall-def.h | 1 + mono/metadata/icall.c.REMOVED.git-id | 2 +- mono/metadata/object-internals.h | 2 + mono/metadata/object-offsets.h | 1 + mono/metadata/threadpool-ms-io-poll.c | 80 ++-- mono/metadata/threadpool-ms-io.c | 29 +- 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/method-to-ir.c.REMOVED.git-id | 2 +- mono/mini/mini-runtime.c.REMOVED.git-id | 2 +- mono/mini/mini.h.REMOVED.git-id | 2 +- mono/mini/version.h | 2 +- mono/profiler/proflog.c.REMOVED.git-id | 2 +- mono/profiler/proflog.h | 1 + mono/tests/Makefile.am | 1 + mono/tests/Makefile.in | 1 + mono/tests/delegate12.cs | 73 ++++ mono/utils/mono-networkinterfaces.c | 3 +- mono/utils/mono-threads.c | 4 +- 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 | 344 +++++++++--------- po/mcs/pt_BR.gmo | Bin 73161 -> 73161 bytes po/mcs/pt_BR.po.REMOVED.git-id | 2 +- tools/locale-builder/Driver.cs | 1 + 55 files changed, 488 insertions(+), 317 deletions(-) create mode 100644 mcs/errors/cs0023-26.cs delete mode 100644 mcs/tests/test-null-operator-04.cs create mode 100644 mono/tests/delegate12.cs diff --git a/Makefile.in b/Makefile.in index 322c2eb5a6..9c57bec974 100644 --- a/Makefile.in +++ b/Makefile.in @@ -84,8 +84,8 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/configure $(am__configure_deps) \ $(srcdir)/config.h.in mkinstalldirs \ $(srcdir)/mono-uninstalled.pc.in COPYING.LIB ChangeLog NEWS \ - compile config.guess config.rpath config.sub install-sh \ - missing ltmain.sh + compile config.guess config.rpath config.sub depcomp \ + install-sh missing ltmain.sh ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ diff --git a/man/mcs.1 b/man/mcs.1 index a193f9f085..ce7ff11c27 100644 --- a/man/mcs.1 +++ b/man/mcs.1 @@ -183,11 +183,11 @@ Restrict the compiler to use only the features available in C# 3.0 Restrict the compiler to use only the features available in C# 4.0 specification. .TP -.I "future" +.I "experimental" Enables unstable features from upcoming versions of the language. .PP Notice that this flag only restricts the language features available to -the programmer. A version of produced assemblies can be controled using +the programmer. A version of produced assemblies can be controlled using .I SDK option. .ne diff --git a/mcs/class/System.Net.Http/System.Net.Http/HttpClientHandler.cs b/mcs/class/System.Net.Http/System.Net.Http/HttpClientHandler.cs index 087e62474d..0a9d60fb98 100644 --- a/mcs/class/System.Net.Http/System.Net.Http/HttpClientHandler.cs +++ b/mcs/class/System.Net.Http/System.Net.Http/HttpClientHandler.cs @@ -276,6 +276,14 @@ namespace System.Net.Http var headers = wr.Headers; foreach (var header in request.Headers) { var values = header.Value; + if (header.Key == "Host") { + // + // Host must be explicitly set for HttpWebRequest + // + wr.Host = request.Headers.Host; + continue; + } + if (header.Key == "Transfer-Encoding") { // Chunked Transfer-Encoding is never set for HttpWebRequest. It's detected // from ContentLength by HttpWebRequest diff --git a/mcs/class/System.Net.Http/Test/System.Net.Http/HttpClientTest.cs b/mcs/class/System.Net.Http/Test/System.Net.Http/HttpClientTest.cs index ec049a9321..510a2d63d4 100644 --- a/mcs/class/System.Net.Http/Test/System.Net.Http/HttpClientTest.cs +++ b/mcs/class/System.Net.Http/Test/System.Net.Http/HttpClientTest.cs @@ -606,6 +606,39 @@ namespace MonoTests.System.Net.Http } } + [Test] + public void Send_Complete_CustomHeaders_Host () + { + bool? failed = null; + var listener = CreateListener (l => { + var request = l.Request; + + try { + Assert.AreEqual ("customhost", request.Headers["Host"], "#1"); + failed = false; + } catch { + failed = true; + } + }); + + try { + var client = new HttpClient (); + + client.DefaultRequestHeaders.Add("Host", "customhost"); + + var request = new HttpRequestMessage (HttpMethod.Get, LocalServer); + + var response = client.SendAsync (request, HttpCompletionOption.ResponseHeadersRead).Result; + + Assert.AreEqual ("", response.Content.ReadAsStringAsync ().Result, "#100"); + Assert.AreEqual (HttpStatusCode.OK, response.StatusCode, "#101"); + Assert.AreEqual (false, failed, "#102"); + } finally { + listener.Abort (); + listener.Close (); + } + } + [Test] public void Send_Transfer_Encoding_Chunked () { 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 c4ce64d6c0..29d4dd079d 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 @@ -f8c2f4cb750d69cbda8d81e1312338786dae656f \ No newline at end of file +fbc2bff995e010b1e2e97373f5bd7a86db9b7aba \ No newline at end of file diff --git a/mcs/class/corlib/System/Delegate.cs b/mcs/class/corlib/System/Delegate.cs index c2f92a7f73..91eecdccb9 100644 --- a/mcs/class/corlib/System/Delegate.cs +++ b/mcs/class/corlib/System/Delegate.cs @@ -60,6 +60,7 @@ namespace System private object m_target; private IntPtr method; private IntPtr delegate_trampoline; + private IntPtr rgctx; private IntPtr method_code; private MethodInfo method_info; @@ -68,6 +69,8 @@ namespace System private MethodInfo original_method_info; private DelegateData data; + + private bool method_is_virtual; #pragma warning restore 169, 414, 649 #endregion @@ -103,13 +106,19 @@ namespace System return method_info; } else { if (method != IntPtr.Zero) { - method_info = (MethodInfo)MethodBase.GetMethodFromHandleNoGenericCheck (new RuntimeMethodHandle (method)); + if (!method_is_virtual) + method_info = (MethodInfo)MethodBase.GetMethodFromHandleNoGenericCheck (new RuntimeMethodHandle (method)); + else + method_info = GetVirtualMethod_internal (); } return method_info; } } } + [MethodImplAttribute (MethodImplOptions.InternalCall)] + extern MethodInfo GetVirtualMethod_internal (); + public object Target { get { return m_target; @@ -467,13 +476,15 @@ namespace System return MemberwiseClone (); } - internal bool Compare (Delegate d) + public override bool Equals (object obj) { + Delegate d = obj as Delegate; + if (d == null) return false; - + // Do not compare method_ptr, since it can point to a trampoline - if (d.m_target == m_target && d.method == method) { + if (d.m_target == m_target && d.Method == Method) { if (d.data != null || data != null) { /* Uncommon case */ if (d.data != null && data != null) @@ -492,14 +503,10 @@ namespace System return false; } - public override bool Equals (object obj) - { - return Compare (obj as Delegate); - } - public override int GetHashCode () { - return method.GetHashCode () ^ (m_target != null ? m_target.GetHashCode () : 0); + /* same implementation as CoreCLR */ + return GetType ().GetHashCode (); } protected virtual MethodInfo GetMethodImpl () diff --git a/mcs/class/corlib/System/Environment.cs b/mcs/class/corlib/System/Environment.cs index c6b01d789c..d9267ac323 100644 --- a/mcs/class/corlib/System/Environment.cs +++ b/mcs/class/corlib/System/Environment.cs @@ -57,7 +57,7 @@ namespace System { * of icalls, do not require an increment. */ #pragma warning disable 169 - private const int mono_corlib_version = 135; + private const int mono_corlib_version = 138; #pragma warning restore 169 [ComVisible (true)] diff --git a/mcs/class/corlib/Test/System.Reflection/MethodInfoTest.cs b/mcs/class/corlib/Test/System.Reflection/MethodInfoTest.cs index d081bc0a0f..d29068adeb 100644 --- a/mcs/class/corlib/Test/System.Reflection/MethodInfoTest.cs +++ b/mcs/class/corlib/Test/System.Reflection/MethodInfoTest.cs @@ -361,14 +361,20 @@ namespace MonoTests.System.Reflection IList locals = mb.LocalVariables; - // This might break with different compilers etc. - Assert.AreEqual (2, locals.Count, "#3"); + bool foundPinnedBytePointer = false; + unsafe { + foreach (LocalVariableInfo lvi in locals) { + if (lvi.LocalType == typeof (byte[])) + // This is optimized out by CSC in .NET 4.6 + Assert.IsFalse (lvi.IsPinned, "#3-1"); - Assert.IsTrue ((locals [0].LocalType == typeof (byte[])) || (locals [1].LocalType == typeof (byte[])), "#4"); - if (locals [0].LocalType == typeof (byte[])) - Assert.AreEqual (false, locals [0].IsPinned, "#5"); - else - Assert.AreEqual (false, locals [1].IsPinned, "#6"); + if (/* mcs */ lvi.LocalType == typeof (byte*) || /* csc */ lvi.LocalType == typeof (byte).MakeByRefType ()) { + foundPinnedBytePointer = true; + Assert.IsTrue (lvi.IsPinned, "#3-2"); + } + } + } + Assert.IsTrue (foundPinnedBytePointer, "#4"); } public int return_parameter_test () @@ -804,21 +810,44 @@ namespace MonoTests.System.Reflection var type = typeof (GenericClass<>).GetMethod("Method").GetMethodBody().LocalVariables[0].LocalType; Assert.AreEqual (typeofT, type); Assert.AreEqual (typeof (GenericClass<>), type.DeclaringType); + + bool foundTypeOfK = false; + bool foundExpectedType = false; + + MethodBody mb = typeof (GenericClass<>).GetMethod("Method2").GetMethodBody(); + foreach (LocalVariableInfo lvi in mb.LocalVariables) { + if (lvi.LocalType == typeofK) { + foundTypeOfK = true; + Assert.AreEqual (typeof (GenericClass<>), lvi.LocalType.DeclaringType, "#1-1"); + } else if (lvi.LocalType == typeofT) { + foundExpectedType = true; + Assert.AreEqual (typeof (GenericClass<>), lvi.LocalType.DeclaringType, "#1-2"); + } + } - type = typeof (GenericClass<>).GetMethod("Method2").GetMethodBody().LocalVariables[0].LocalType; - Assert.AreEqual (typeofT, type); - Assert.AreEqual (typeof (GenericClass<>), type.DeclaringType); - - type = typeof (GenericClass<>).GetMethod("Method2").GetMethodBody().LocalVariables[1].LocalType; - Assert.AreEqual (typeofK, type); - Assert.AreEqual (typeof (GenericClass<>), type.DeclaringType); - - type = typeof (GenericClass).GetMethod("Method2").GetMethodBody().LocalVariables[0].LocalType; - Assert.AreEqual (typeof (int), type); - - type = typeof (GenericClass).GetMethod("Method2").GetMethodBody().LocalVariables[1].LocalType; - Assert.AreEqual (typeofK, type); - Assert.AreEqual (typeof (GenericClass<>), type.DeclaringType); + Assert.IsTrue (foundTypeOfK, "#1-3"); + if (mb.LocalVariables.Count < 2) + Assert.Ignore ("Code built in release mode - 'T var0' optmized out"); + else + Assert.IsTrue (foundExpectedType, "#1-4"); + + foundTypeOfK = false; + foundExpectedType = false; + mb = typeof (GenericClass).GetMethod("Method2").GetMethodBody(); + foreach (LocalVariableInfo lvi in mb.LocalVariables) { + if (lvi.LocalType == typeofK) { + foundTypeOfK = true; + Assert.AreEqual (typeof (GenericClass<>), lvi.LocalType.DeclaringType, "#2-1"); + } else if (lvi.LocalType == typeof (int)) { + foundExpectedType = true; + } + } + + Assert.IsTrue (foundTypeOfK, "#2-3"); + if (mb.LocalVariables.Count < 2) + Assert.Ignore ("Code built in release mode - 'int var0' optmized out"); + else + Assert.IsTrue (foundExpectedType, "#2-4"); } #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 7158d0fa76..3ef7f01f2a 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 @@ -0240ebb4d2659b40f56c66a63819f414a5d9df62 \ No newline at end of file +1fdb613e86f18f2b9886f4967a0bdc43f79fef7e \ 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 095d878ba6..55e165bbfd 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 @@ -cb7dc0666856e54db03e68c589fc978dd269c5f3 \ No newline at end of file +70d97fe10dc6037275080996eac59af0d68e1561 \ 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 58fd5d3d64..a7faa6defd 100644 --- a/mcs/class/lib/monolite/System.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite/System.dll.REMOVED.git-id @@ -1 +1 @@ -b341b2406947158e34dcfde3e0e842d2f8f45366 \ No newline at end of file +06bd1619ad328b5c34a59a366c095894e50efd56 \ 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 e4a3db0e10..e2e1ecf7dc 100644 --- a/mcs/class/lib/monolite/basic.exe.REMOVED.git-id +++ b/mcs/class/lib/monolite/basic.exe.REMOVED.git-id @@ -1 +1 @@ -e69df203c4e52e18dafc6255ea6247008eecfadb \ No newline at end of file +5b9fdc62b8f41a0b32a323e04f253e4de34cd483 \ 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 fafa6d8d08..c9d79d0736 100644 --- a/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id @@ -1 +1 @@ -cfddc735dcaad9c8ee6f62802c7b870328e6d9e7 \ No newline at end of file +a6fc9a5ca70542579710af7ccfbd377501d45c30 \ No newline at end of file diff --git a/mcs/errors/cs0023-26.cs b/mcs/errors/cs0023-26.cs new file mode 100644 index 0000000000..3dbaeb3600 --- /dev/null +++ b/mcs/errors/cs0023-26.cs @@ -0,0 +1,15 @@ +// CS0023: The `?' operator cannot be applied to operand of type `method group' +// Line: 14 + +class X +{ + void Test () + { + } + + public static void Main () + { + X x = null; + System.Action n = x?.Test; + } +} \ No newline at end of file diff --git a/mcs/mcs/context.cs b/mcs/mcs/context.cs index 4ea93ee91b..504fbd01e1 100644 --- a/mcs/mcs/context.cs +++ b/mcs/mcs/context.cs @@ -189,7 +189,7 @@ namespace Mono.CSharp TryWithCatchScope = 1 << 15, - ConditionalAccessReceiver = 1 << 16, + DontSetConditionalAccessReceiver = 1 << 16, /// /// Indicates the current context is in probing mode, no errors are reported. diff --git a/mcs/mcs/delegate.cs b/mcs/mcs/delegate.cs index bb97416c5a..6375b6b73c 100644 --- a/mcs/mcs/delegate.cs +++ b/mcs/mcs/delegate.cs @@ -457,7 +457,6 @@ namespace Mono.CSharp { // public abstract class DelegateCreation : Expression, OverloadResolver.IErrorHandler { - bool conditional_access_receiver; protected MethodSpec constructor_method; protected MethodGroupExpr method_group; @@ -520,25 +519,25 @@ namespace Mono.CSharp { return e.CreateExpressionTree (ec); } + void ResolveConditionalAccessReceiver (ResolveContext rc) + { + // LAMESPEC: Not sure why this is explicitly disalloed with very odd error message + if (!rc.HasSet (ResolveContext.Options.DontSetConditionalAccessReceiver) && method_group.HasConditionalAccess ()) { + Error_OperatorCannotBeApplied (rc, loc, "?", method_group.Type); + } + } + protected override Expression DoResolve (ResolveContext ec) { constructor_method = Delegate.GetConstructor (type); var invoke_method = Delegate.GetInvokeMethod (type); - if (!ec.HasSet (ResolveContext.Options.ConditionalAccessReceiver)) { - if (method_group.HasConditionalAccess ()) { - conditional_access_receiver = true; - ec.Set (ResolveContext.Options.ConditionalAccessReceiver); - } - } + ResolveConditionalAccessReceiver (ec); Arguments arguments = CreateDelegateMethodArguments (ec, invoke_method.Parameters, invoke_method.Parameters.Types, loc); method_group = method_group.OverloadResolve (ec, ref arguments, this, OverloadResolver.Restrictions.CovariantDelegate); - if (conditional_access_receiver) - ec.With (ResolveContext.Options.ConditionalAccessReceiver, false); - if (method_group == null) return null; @@ -594,9 +593,6 @@ namespace Mono.CSharp { public override void Emit (EmitContext ec) { - if (conditional_access_receiver) - ec.ConditionalAccess = new ConditionalAccessContext (type, ec.DefineLabel ()); - if (method_group.InstanceExpression == null) { ec.EmitNull (); } else { @@ -615,20 +611,12 @@ namespace Mono.CSharp { } ec.Emit (OpCodes.Newobj, constructor_method); - - if (conditional_access_receiver) - ec.CloseConditionalAccess (null); } public override void FlowAnalysis (FlowAnalysisContext fc) { - var da = conditional_access_receiver ? fc.BranchDefiniteAssignment () : null; - base.FlowAnalysis (fc); method_group.FlowAnalysis (fc); - - if (conditional_access_receiver) - fc.DefiniteAssignment = da; } void Error_ConversionFailed (ResolveContext ec, MethodSpec method, Expression return_type) diff --git a/mcs/mcs/ecore.cs.REMOVED.git-id b/mcs/mcs/ecore.cs.REMOVED.git-id index c34ec542c3..26a9a9bc6d 100644 --- a/mcs/mcs/ecore.cs.REMOVED.git-id +++ b/mcs/mcs/ecore.cs.REMOVED.git-id @@ -1 +1 @@ -38d317979f9db73620faf65c9a701a808c9b17ef \ No newline at end of file +4225b585eea7227c7a3a236f80f3f28a3dd9919b \ 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 f579af49d5..83c589296a 100644 --- a/mcs/mcs/expression.cs.REMOVED.git-id +++ b/mcs/mcs/expression.cs.REMOVED.git-id @@ -1 +1 @@ -c4b5db38d37bc3d4db203452efe5a88099ddf0da \ No newline at end of file +acdcf32485d622ab24dcb505dba5e58729d82483 \ No newline at end of file diff --git a/mcs/mcs/settings.cs b/mcs/mcs/settings.cs index 9b366d636d..c262fbd87c 100644 --- a/mcs/mcs/settings.cs +++ b/mcs/mcs/settings.cs @@ -1561,7 +1561,7 @@ namespace Mono.CSharp { " -help Lists all compiler options (short: -?)\n" + " -keycontainer:NAME The key pair container used to sign the output assembly\n" + " -keyfile:FILE The key file used to strongname the ouput assembly\n" + - " -langversion:TEXT Specifies language version: ISO-1, ISO-2, 3, 4, 5, Default or Future\n" + + " -langversion:TEXT Specifies language version: ISO-1, ISO-2, 3, 4, 5, Default or Experimental\n" + " -lib:PATH1[,PATHn] Specifies the location of referenced assemblies\n" + " -main:CLASS Specifies the class with the Main method (short: -m)\n" + " -noconfig Disables implicitly referenced assemblies\n" + diff --git a/mcs/tests/test-null-operator-04.cs b/mcs/tests/test-null-operator-04.cs deleted file mode 100644 index 6796920d3f..0000000000 --- a/mcs/tests/test-null-operator-04.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; - -public class D -{ - void Foo () - { - } - - public static void Main() - { - D d = null; - Action a = d?.Foo; - } -} 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 06f02816a8..4ce40fd7d7 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 @@ -fae778dd6cbda23f819c138a80c2bb28d051aac3 \ No newline at end of file +4a970c00528488693bba23a5f9eda9b860437527 \ No newline at end of file diff --git a/mono/io-layer/sockets.c b/mono/io-layer/sockets.c index 9121f86731..a6e7e349ab 100644 --- a/mono/io-layer/sockets.c +++ b/mono/io-layer/sockets.c @@ -733,7 +733,7 @@ int _wapi_setsockopt(guint32 fd, int level, int optname, socklen_t type_len = sizeof (type); if (!getsockopt (fd, level, SO_TYPE, &type, &type_len)) { - if (type == SOCK_DGRAM) + if (type == SOCK_DGRAM || type == SOCK_STREAM) setsockopt (fd, level, SO_REUSEPORT, tmp_val, optlen); } } diff --git a/mono/metadata/appdomain.c b/mono/metadata/appdomain.c index 8c9320e29d..230bff2e2e 100644 --- a/mono/metadata/appdomain.c +++ b/mono/metadata/appdomain.c @@ -79,7 +79,7 @@ * Changes which are already detected at runtime, like the addition * of icalls, do not require an increment. */ -#define MONO_CORLIB_VERSION 135 +#define MONO_CORLIB_VERSION 138 typedef struct { diff --git a/mono/metadata/culture-info-tables.h.REMOVED.git-id b/mono/metadata/culture-info-tables.h.REMOVED.git-id index d998161b43..3fdc612477 100644 --- a/mono/metadata/culture-info-tables.h.REMOVED.git-id +++ b/mono/metadata/culture-info-tables.h.REMOVED.git-id @@ -1 +1 @@ -7d7b7588e7dae77ee43323197a1e31c9ad6c5adb \ No newline at end of file +20306b572ddc8e866c948eb5b022acbe9c68f920 \ No newline at end of file diff --git a/mono/metadata/icall-def.h b/mono/metadata/icall-def.h index 35c6e52146..4a96fd512b 100644 --- a/mono/metadata/icall-def.h +++ b/mono/metadata/icall-def.h @@ -152,6 +152,7 @@ ICALL(DECIMAL_13, "ToSingle", mono_decimal_to_float) ICALL_TYPE(DELEGATE, "System.Delegate", DELEGATE_1) ICALL(DELEGATE_1, "AllocDelegateLike_internal", ves_icall_System_Delegate_AllocDelegateLike_internal) ICALL(DELEGATE_2, "CreateDelegate_internal", ves_icall_System_Delegate_CreateDelegate_internal) +ICALL(DELEGATE_3, "GetVirtualMethod_internal", ves_icall_System_Delegate_GetVirtualMethod_internal) ICALL_TYPE(DEBUGR, "System.Diagnostics.Debugger", DEBUGR_1) ICALL(DEBUGR_1, "IsAttached_internal", ves_icall_System_Diagnostics_Debugger_IsAttached_internal) diff --git a/mono/metadata/icall.c.REMOVED.git-id b/mono/metadata/icall.c.REMOVED.git-id index 0b68cfe397..1dbd8fbed9 100644 --- a/mono/metadata/icall.c.REMOVED.git-id +++ b/mono/metadata/icall.c.REMOVED.git-id @@ -1 +1 @@ -675ead03dec528ee6fee4a68520415fdec68cf9f \ No newline at end of file +6ebd10e41823c4ad8b8b55803384746f3d58e7ce \ No newline at end of file diff --git a/mono/metadata/object-internals.h b/mono/metadata/object-internals.h index a303331d44..785e01dd28 100644 --- a/mono/metadata/object-internals.h +++ b/mono/metadata/object-internals.h @@ -778,6 +778,7 @@ struct _MonoDelegate { MonoObject *target; MonoMethod *method; gpointer delegate_trampoline; + gpointer rgctx; /* * If non-NULL, this points to a memory location which stores the address of * the compiled code of the method, or NULL if it is not yet compiled. @@ -786,6 +787,7 @@ struct _MonoDelegate { MonoReflectionMethod *method_info; MonoReflectionMethod *original_method_info; MonoObject *data; + MonoBoolean method_is_virtual; }; typedef struct _MonoMulticastDelegate MonoMulticastDelegate; diff --git a/mono/metadata/object-offsets.h b/mono/metadata/object-offsets.h index 2e753bcfe5..267b9655b3 100644 --- a/mono/metadata/object-offsets.h +++ b/mono/metadata/object-offsets.h @@ -71,6 +71,7 @@ DECL_OFFSET(MonoDelegate, method_ptr) DECL_OFFSET(MonoDelegate, invoke_impl) DECL_OFFSET(MonoDelegate, method) DECL_OFFSET(MonoDelegate, method_code) +DECL_OFFSET(MonoDelegate, method_is_virtual) DECL_OFFSET(MonoInternalThread, tid) DECL_OFFSET(MonoInternalThread, small_id) diff --git a/mono/metadata/threadpool-ms-io-poll.c b/mono/metadata/threadpool-ms-io-poll.c index a0a64b1582..39294fdc69 100644 --- a/mono/metadata/threadpool-ms-io-poll.c +++ b/mono/metadata/threadpool-ms-io-poll.c @@ -1,24 +1,5 @@ -#if defined(HAVE_POLL) - -#if defined(HAVE_POLL_H) -#include -#elif defined(HAVE_SYS_POLL_H) -#include -#endif - -typedef struct pollfd mono_pollfd; - -#elif defined(HOST_WIN32) - -#include "mswsock.h" - -typedef WSAPOLLFD mono_pollfd; - -#else -/* poll is not defined */ -#error -#endif +#include "utils/mono-poll.h" static mono_pollfd *poll_fds; static guint poll_fds_capacity; @@ -42,7 +23,7 @@ poll_init (gint wakeup_pipe_fd) poll_fds = g_new0 (mono_pollfd, poll_fds_capacity); - POLL_INIT_FD (&poll_fds [0], wakeup_pipe_fd, POLLIN); + POLL_INIT_FD (&poll_fds [0], wakeup_pipe_fd, MONO_POLLIN); return TRUE; } @@ -66,9 +47,9 @@ poll_register_fd (gint fd, gint events, gboolean is_new) poll_event = 0; if (events & EVENT_IN) - poll_event |= POLLIN; + poll_event |= MONO_POLLIN; if (events & EVENT_OUT) - poll_event |= POLLOUT; + poll_event |= MONO_POLLOUT; for (i = 0; i < poll_fds_size; ++i) { if (poll_fds [i].fd == fd) { @@ -128,6 +109,36 @@ poll_remove_fd (gint fd) poll_fds_size -= 1; } +static inline gint +poll_mark_bad_fds (mono_pollfd *poll_fds, gint poll_fds_size) +{ + gint i, ready = 0; + + for (i = 0; i < poll_fds_size; i++) { + if (poll_fds [i].fd == -1) + continue; + + switch (mono_poll (&poll_fds [i], 1, 0)) { + case 1: + ready++; + break; + case -1: +#if !defined(HOST_WIN32) + if (errno == EBADF) +#else + if (WSAGetLastError () == WSAEBADF) +#endif + { + poll_fds [i].revents |= MONO_POLLNVAL; + ready++; + } + break; + } + } + + return ready; +} + static gint poll_event_wait (void (*callback) (gint fd, gint events, gpointer user_data), gpointer user_data) { @@ -138,13 +149,7 @@ poll_event_wait (void (*callback) (gint fd, gint events, gpointer user_data), gp mono_gc_set_skip_thread (TRUE); -#if !defined(HOST_WIN32) - ready = poll (poll_fds, poll_fds_size, -1); -#else - ready = WSAPoll(poll_fds, poll_fds_size, -1); - if (ready == SOCKET_ERROR) - ready = -1; -#endif + ready = mono_poll (poll_fds, poll_fds_size, -1); mono_gc_set_skip_thread (FALSE); @@ -178,6 +183,15 @@ poll_event_wait (void (*callback) (gint fd, gint events, gpointer user_data), gp ready = 0; break; } +#if !defined(HOST_WIN32) + case EBADF: +#else + case WSAEBADF: +#endif + { + ready = poll_mark_bad_fds (poll_fds, poll_fds_size); + break; + } default: #if !defined(HOST_WIN32) g_error ("poll_event_wait: mono_poll () failed, error (%d) %s", errno, g_strerror (errno)); @@ -200,10 +214,12 @@ poll_event_wait (void (*callback) (gint fd, gint events, gpointer user_data), gp continue; fd = poll_fds [i].fd; - if (poll_fds [i].revents & (POLLIN | POLLERR | POLLHUP | POLLNVAL)) + if (poll_fds [i].revents & (MONO_POLLIN | MONO_POLLERR | MONO_POLLHUP | MONO_POLLNVAL)) events |= EVENT_IN; - if (poll_fds [i].revents & (POLLOUT | POLLERR | POLLHUP | POLLNVAL)) + if (poll_fds [i].revents & (MONO_POLLOUT | MONO_POLLERR | MONO_POLLHUP | MONO_POLLNVAL)) events |= EVENT_OUT; + if (poll_fds [i].revents & (MONO_POLLERR | MONO_POLLHUP | MONO_POLLNVAL)) + events |= EVENT_ERR; callback (fd, events, user_data); diff --git a/mono/metadata/threadpool-ms-io.c b/mono/metadata/threadpool-ms-io.c index d6f8b25b25..3ef8b8c8fc 100644 --- a/mono/metadata/threadpool-ms-io.c +++ b/mono/metadata/threadpool-ms-io.c @@ -40,6 +40,7 @@ typedef struct { enum { EVENT_IN = 1 << 0, EVENT_OUT = 1 << 1, + EVENT_ERR = 1 << 2, } ThreadPoolIOEvent; #include "threadpool-ms-io-epoll.c" @@ -289,12 +290,13 @@ wait_callback (gint fd, gint events, gpointer user_data) MonoGHashTable *states; MonoMList *list = NULL; gpointer k; + gboolean remove_fd = FALSE; g_assert (user_data); states = user_data; - mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_THREADPOOL, "io threadpool: cal fd %3d, events = %2s | %2s", - fd, (events & EVENT_IN) ? "RD" : "..", (events & EVENT_OUT) ? "WR" : ".."); + mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_THREADPOOL, "io threadpool: cal fd %3d, events = %2s | %2s | %3s", + fd, (events & EVENT_IN) ? "RD" : "..", (events & EVENT_OUT) ? "WR" : "..", (events & EVENT_ERR) ? "ERR" : "..."); if (!mono_g_hash_table_lookup_extended (states, GINT_TO_POINTER (fd), &k, (gpointer*) &list)) g_error ("wait_callback: fd %d not found in states table", fd); @@ -310,14 +312,23 @@ wait_callback (gint fd, gint events, gpointer user_data) mono_threadpool_ms_enqueue_work_item (((MonoObject*) sockares)->vtable->domain, (MonoObject*) sockares); } - mono_g_hash_table_replace (states, GINT_TO_POINTER (fd), list); + remove_fd = (events & EVENT_ERR) == EVENT_ERR; + if (!remove_fd) { + mono_g_hash_table_replace (states, GINT_TO_POINTER (fd), list); - events = get_events (list); + events = get_events (list); - mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_THREADPOOL, "io threadpool: res fd %3d, events = %2s | %2s", - fd, (events & EVENT_IN) ? "RD" : "..", (events & EVENT_OUT) ? "WR" : ".."); + mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_THREADPOOL, "io threadpool: res fd %3d, events = %2s | %2s | %2s", + fd, (events & EVENT_IN) ? "RD" : "..", (events & EVENT_OUT) ? "WR" : "..", (events & EVENT_ERR) ? "ERR" : "..."); - threadpool_io->backend.register_fd (fd, events, FALSE); + threadpool_io->backend.register_fd (fd, events, FALSE); + } else { + mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_THREADPOOL, "io threadpool: err fd %d", fd); + + mono_g_hash_table_remove (states, GINT_TO_POINTER (fd)); + + threadpool_io->backend.remove_fd (fd); + } } } @@ -367,8 +378,8 @@ selector_thread (gpointer data) events = get_events (list); - mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_THREADPOOL, "io threadpool: %3s fd %3d, events = %2s | %2s", - exists ? "mod" : "add", fd, (events & EVENT_IN) ? "RD" : "..", (events & EVENT_OUT) ? "WR" : ".."); + mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_THREADPOOL, "io threadpool: %3s fd %3d, events = %2s | %2s | %2s", + exists ? "mod" : "add", fd, (events & EVENT_IN) ? "RD" : "..", (events & EVENT_OUT) ? "WR" : "..", (events & EVENT_ERR) ? "ERR" : "..."); threadpool_io->backend.register_fd (fd, events, !exists); diff --git a/mono/mini/Makefile.am b/mono/mini/Makefile.am index 26c9280430..a27e7354b5 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.36/dbd6429\"" > version.h + echo "#define FULL_VERSION \"Stable 4.2.1.60/804ddbc\"" > 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 26c9280430..a27e7354b5 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.36/dbd6429\"" > version.h + echo "#define FULL_VERSION \"Stable 4.2.1.60/804ddbc\"" > 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 f31bafdbb3..4b1157c6e2 100644 --- a/mono/mini/Makefile.in.REMOVED.git-id +++ b/mono/mini/Makefile.in.REMOVED.git-id @@ -1 +1 @@ -c65a3a960c9fab0078aaf2bc05b202ec039553a6 \ No newline at end of file +080f9cc654f5abb2d7030948dfd47427b8979777 \ 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 3d750fbf53..9fe77f440c 100644 --- a/mono/mini/debugger-agent.c.REMOVED.git-id +++ b/mono/mini/debugger-agent.c.REMOVED.git-id @@ -1 +1 @@ -55b292ac8dd94a1c3eeb3d05962d2d9a30b1808f \ No newline at end of file +0458c47551638425b42b9b304999eab0ae33938f \ No newline at end of file diff --git a/mono/mini/method-to-ir.c.REMOVED.git-id b/mono/mini/method-to-ir.c.REMOVED.git-id index 1fd94178a0..27a78b7d10 100644 --- a/mono/mini/method-to-ir.c.REMOVED.git-id +++ b/mono/mini/method-to-ir.c.REMOVED.git-id @@ -1 +1 @@ -8901046041bb65808a7d99cb9b185596c7be01c5 \ No newline at end of file +24b171b7d02edaa3d317cb6d27de214a3e476267 \ No newline at end of file diff --git a/mono/mini/mini-runtime.c.REMOVED.git-id b/mono/mini/mini-runtime.c.REMOVED.git-id index 179a865653..7321da7dda 100644 --- a/mono/mini/mini-runtime.c.REMOVED.git-id +++ b/mono/mini/mini-runtime.c.REMOVED.git-id @@ -1 +1 @@ -8b14d1f670c108df89e59f0ab80f793a259597e1 \ No newline at end of file +b4605733bb4bb4fa16d13db526cb439680307bba \ No newline at end of file diff --git a/mono/mini/mini.h.REMOVED.git-id b/mono/mini/mini.h.REMOVED.git-id index 8d398b8252..fd294052b3 100644 --- a/mono/mini/mini.h.REMOVED.git-id +++ b/mono/mini/mini.h.REMOVED.git-id @@ -1 +1 @@ -1cbbf289bd0e3394b2850dfd3d558327f35ec6cc \ No newline at end of file +7c01d8b67d92f0bebbdeff1c929e982a99b7d3bb \ No newline at end of file diff --git a/mono/mini/version.h b/mono/mini/version.h index 17c26fd37d..45b7e1079b 100644 --- a/mono/mini/version.h +++ b/mono/mini/version.h @@ -1 +1 @@ -#define FULL_VERSION "Stable 4.2.1.36/dbd6429" +#define FULL_VERSION "Stable 4.2.1.60/804ddbc" diff --git a/mono/profiler/proflog.c.REMOVED.git-id b/mono/profiler/proflog.c.REMOVED.git-id index 7ee35f0322..0c69b44965 100644 --- a/mono/profiler/proflog.c.REMOVED.git-id +++ b/mono/profiler/proflog.c.REMOVED.git-id @@ -1 +1 @@ -549a7cf0c9085eb4b819e7233c09a5a5fedb2835 \ No newline at end of file +dfcf6b34bb42b054c3aad0c16e51798401f02028 \ No newline at end of file diff --git a/mono/profiler/proflog.h b/mono/profiler/proflog.h index 8fc22e4328..548d86b506 100644 --- a/mono/profiler/proflog.h +++ b/mono/profiler/proflog.h @@ -25,6 +25,7 @@ load/unload/name for assemblies removed TYPE_LOAD_ERR flag (profiler never generated it, now removed from the format itself) added TYPE_GC_HANDLE_{CREATED,DESTROYED}_BT + TYPE_JIT events are no longer guaranteed to have code start/size info (can be zero) */ enum { diff --git a/mono/tests/Makefile.am b/mono/tests/Makefile.am index 0b83b4fb96..23c9d1075d 100644 --- a/mono/tests/Makefile.am +++ b/mono/tests/Makefile.am @@ -181,6 +181,7 @@ BASE_TEST_CS_SRC= \ delegate9.cs \ delegate10.cs \ delegate11.cs \ + delegate12.cs \ remoting1.cs \ remoting2.cs \ remoting3.cs \ diff --git a/mono/tests/Makefile.in b/mono/tests/Makefile.in index 2f1106dd5c..20cc56a390 100644 --- a/mono/tests/Makefile.in +++ b/mono/tests/Makefile.in @@ -600,6 +600,7 @@ BASE_TEST_CS_SRC = \ delegate9.cs \ delegate10.cs \ delegate11.cs \ + delegate12.cs \ remoting1.cs \ remoting2.cs \ remoting3.cs \ diff --git a/mono/tests/delegate12.cs b/mono/tests/delegate12.cs new file mode 100644 index 0000000000..4f47c78a79 --- /dev/null +++ b/mono/tests/delegate12.cs @@ -0,0 +1,73 @@ +using System; + +class MainClass +{ + public static int Main(string[] args) + { + DerivedClass o = new DerivedClass(); + + Func del1 = GetDel1 (o); + Func del2 = GetDel2 (o); + + + Console.WriteLine("Action\n======\nReflected type: {0}\nDeclaring type: {1}\nAttributes: {2}\nResult: {3}", + del1.Method.ReflectedType, del1.Method.DeclaringType, del1.Method.Attributes, del1 ()); + + Console.WriteLine (); + + Console.WriteLine("Delegate\n========\nReflected type: {0}\nDeclaring type: {1}\nAttributes: {2}\nResult: {3}", + del2.Method.ReflectedType, del2.Method.DeclaringType, del2.Method.Attributes, del2 ()); + + if (del1.Method.ReflectedType != typeof (DerivedClass)) + return 10; + if (del1.Method.DeclaringType != typeof (DerivedClass)) + return 11; + if (del1 () != "Derived method") + return 12; + + if (del2.Method.ReflectedType != typeof (DerivedClass)) + return 20; + if (del2.Method.DeclaringType != typeof (DerivedClass)) + return 21; + if (del2 () != "Derived method") + return 22; + + if (!del1.Equals (del2)) + return 30; + if (!del2.Equals (del1)) + return 31; + + return 0; + } + + static Func GetDel1 (DerivedClass o) + { + return o.GetMethod(); + } + + static Func GetDel2 (DerivedClass o) + { + return (Func) Delegate.CreateDelegate(typeof(Func), o, o.GetMethod().Method); + } +} + +class BaseClass +{ + public Func GetMethod() + { + return MyMethod; + } + + public virtual string MyMethod() + { + return "Base method"; + } +} + +class DerivedClass : BaseClass +{ + public override string MyMethod() + { + return "Derived method"; + } +} diff --git a/mono/utils/mono-networkinterfaces.c b/mono/utils/mono-networkinterfaces.c index d253bd07b4..fc5bcc966a 100644 --- a/mono/utils/mono-networkinterfaces.c +++ b/mono/utils/mono-networkinterfaces.c @@ -97,9 +97,8 @@ mono_network_get_data (char* name, MonoNetworkData data, MonoNetworkError *error char *ptr; buf [sizeof (buf) - 1] = 0; - /* FIXME: This might potentially cause a buffer overflow for cname. */ if ((ptr = strchr (buf, ':')) == NULL || - (*ptr++ = 0, sscanf (buf, "%s", cname) != 1)) + (*ptr++ = 0, sscanf (buf, "%250s", cname) != 1)) goto out; if (strcmp (name, cname) != 0) continue; diff --git a/mono/utils/mono-threads.c b/mono/utils/mono-threads.c index 68ec25d84b..f3ba1f0f89 100644 --- a/mono/utils/mono-threads.c +++ b/mono/utils/mono-threads.c @@ -422,7 +422,7 @@ mono_threads_unregister_current_thread (MonoThreadInfo *info) MonoThreadInfo* mono_thread_info_current_unchecked (void) { - return thread_info_key ? (MonoThreadInfo*)mono_native_tls_get_value (thread_info_key) : NULL; + return mono_threads_inited ? (MonoThreadInfo*)mono_native_tls_get_value (thread_info_key) : NULL; } @@ -579,8 +579,6 @@ mono_threads_init (MonoThreadInfoCallbacks *callbacks, size_t info_size) res = mono_native_tls_alloc (&thread_exited_key, (void *) thread_exited_dtor); #endif - g_assert (thread_info_key); - g_assert (res); #ifndef HAVE_KW_THREAD diff --git a/po/mcs/de.gmo b/po/mcs/de.gmo index 3a2892b4b5e13153a6d67ee11b08c79e93d7793c..2cd8b278fb695586ff96daa23c7e4784a4eaef4b 100644 GIT binary patch delta 24 fcmbQIHBW29LoRMZ16>0%1p`wn1H;X4xQw^}Vgd&+ delta 24 fcmbQIHBW29LoRLuOI;%q1p`wn6N}AnxQw^}V!;PP diff --git a/po/mcs/de.po.REMOVED.git-id b/po/mcs/de.po.REMOVED.git-id index a300dafaf0..817aee9f79 100644 --- a/po/mcs/de.po.REMOVED.git-id +++ b/po/mcs/de.po.REMOVED.git-id @@ -1 +1 @@ -f131d269bff942dba1b5d8de0cb40c8be0f08b12 \ No newline at end of file +b75dfdb860929f1f54efefc462287a9efaa4d642 \ No newline at end of file diff --git a/po/mcs/es.gmo b/po/mcs/es.gmo index 7a6fa46d1cb6d37efa5569a984c0f0d95f6e0524..173fdac7f0d5a80a882c0ee00bcb1a7f5a0fd078 100644 GIT binary patch delta 24 fcmX?Ef3kjqmLj*Ifv$m>f`O@(f#GIT#VK+CYN7{b delta 24 fcmX?Ef3kjqmLj)-rLK{Qf`O@(iN$79#VK+CYhed@ diff --git a/po/mcs/es.po.REMOVED.git-id b/po/mcs/es.po.REMOVED.git-id index 5b2fffe526..b2a80bcc90 100644 --- a/po/mcs/es.po.REMOVED.git-id +++ b/po/mcs/es.po.REMOVED.git-id @@ -1 +1 @@ -e95a38693d93dba730e8a8aedea4702be73483d4 \ No newline at end of file +1c98958bcd4cb878860930dc7f4aae05a6f4e48e \ No newline at end of file diff --git a/po/mcs/ja.gmo b/po/mcs/ja.gmo index 740cd32bdcd4c0982af08506d26343a75d7ee400..55dde3129c6526c3ef8c797e8ddfdaaf2dfedc0b 100644 GIT binary patch delta 26 hcmeyri1Gg-#tkg$+=d3a24)Hdrd9@qoB7oXv;cfW2f_dV delta 26 hcmeyri1Gg-#tkg$+y<7qMkWddrdB2voB7oXv;chr2h{)o diff --git a/po/mcs/ja.po.REMOVED.git-id b/po/mcs/ja.po.REMOVED.git-id index 60c48c3862..03cf64c25b 100644 --- a/po/mcs/ja.po.REMOVED.git-id +++ b/po/mcs/ja.po.REMOVED.git-id @@ -1 +1 @@ -9b90d6522bbeebffd1042749a032a29d5d81265d \ No newline at end of file +c4ca0fdff467e7a69c3da9737d49025f96868a34 \ No newline at end of file diff --git a/po/mcs/mcs.pot b/po/mcs/mcs.pot index dc4ffe1131..bfca5d2773 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-09-24 05:48-0400\n" +"POT-Creation-Date: 2015-10-06 05:01-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -34,7 +34,7 @@ msgid "" "mismatch" msgstr "" -#: mcs/mcs/anonymous.cs:1054 mcs/mcs/ecore.cs:5763 +#: mcs/mcs/anonymous.cs:1054 mcs/mcs/ecore.cs:5766 #, csharp-format msgid "Delegate `{0}' does not take `{1}' arguments" msgstr "" @@ -619,7 +619,7 @@ msgstr "" msgid "The operation overflows at compile time in checked mode" msgstr "" -#: mcs/mcs/cfold.cs:329 mcs/mcs/expression.cs:4984 +#: mcs/mcs/cfold.cs:329 mcs/mcs/expression.cs:4988 #, csharp-format msgid "Operator `{0}' is ambiguous on operands of type `{1}' and `{2}'" msgstr "" @@ -1205,51 +1205,51 @@ msgid "" "delegate `{1}'" msgstr "" -#: mcs/mcs/delegate.cs:548 +#: mcs/mcs/delegate.cs:547 #, csharp-format msgid "" "Cannot create delegate from method `{0}' because it is a member of System." "Nullable type" msgstr "" -#: mcs/mcs/delegate.cs:561 +#: mcs/mcs/delegate.cs:560 #, csharp-format msgid "" "Extension method `{0}' of value type `{1}' cannot be used to create delegates" msgstr "" -#: mcs/mcs/delegate.cs:579 +#: mcs/mcs/delegate.cs:578 #, csharp-format msgid "Cannot create delegate from partial method declaration `{0}'" msgstr "" -#: mcs/mcs/delegate.cs:582 +#: mcs/mcs/delegate.cs:581 #, csharp-format msgid "" "Cannot create delegate with `{0}' because it has a Conditional attribute" msgstr "" -#: mcs/mcs/delegate.cs:644 +#: mcs/mcs/delegate.cs:632 #, csharp-format msgid "" "A method or delegate `{0} {1}' parameters and return type must be same as " "delegate `{2} {3}' parameters and return type" msgstr "" -#: mcs/mcs/delegate.cs:651 +#: mcs/mcs/delegate.cs:639 #, csharp-format msgid "" "A method or delegate `{0}' parameters do not match delegate `{1}' parameters" msgstr "" -#: mcs/mcs/delegate.cs:656 +#: mcs/mcs/delegate.cs:644 #, csharp-format msgid "" "A method or delegate `{0} {1}' return type does not match delegate `{2} {3}' " "return type" msgstr "" -#: mcs/mcs/delegate.cs:833 +#: mcs/mcs/delegate.cs:821 msgid "Method name expected" msgstr "" @@ -1359,8 +1359,8 @@ msgstr "" msgid "Internal compiler error: {0}" msgstr "" -#: mcs/mcs/ecore.cs:581 mcs/mcs/expression.cs:1870 mcs/mcs/expression.cs:7932 -#: mcs/mcs/expression.cs:7940 +#: mcs/mcs/ecore.cs:581 mcs/mcs/expression.cs:1874 mcs/mcs/expression.cs:7940 +#: mcs/mcs/expression.cs:7948 msgid "A constant value is expected" msgstr "" @@ -1382,215 +1382,215 @@ msgstr "" msgid "The class `{0}' has no constructors defined" msgstr "" -#: mcs/mcs/ecore.cs:1004 +#: mcs/mcs/ecore.cs:1005 msgid "An element access expression cannot use named argument" msgstr "" -#: mcs/mcs/ecore.cs:1017 +#: mcs/mcs/ecore.cs:1018 #, csharp-format msgid "The `{0}' operator cannot be applied to operand of type `{1}'" msgstr "" -#: mcs/mcs/ecore.cs:1023 +#: mcs/mcs/ecore.cs:1024 msgid "An expression tree cannot contain an unsafe pointer operation" msgstr "" -#: mcs/mcs/ecore.cs:1028 +#: mcs/mcs/ecore.cs:1029 msgid "An expression tree cannot contain a null propagating operator" msgstr "" -#: mcs/mcs/ecore.cs:1033 +#: mcs/mcs/ecore.cs:1034 msgid "" "The left-hand side of an assignment cannot contain a null propagating " "operator" msgstr "" -#: mcs/mcs/ecore.cs:1129 +#: mcs/mcs/ecore.cs:1130 #, csharp-format msgid "`{0}' is a `{1}' but a `{2}' was expected" msgstr "" -#: mcs/mcs/ecore.cs:1162 +#: mcs/mcs/ecore.cs:1163 #, csharp-format msgid "Expression denotes a `{0}', where a `{1}' was expected" msgstr "" -#: mcs/mcs/ecore.cs:1172 +#: mcs/mcs/ecore.cs:1173 msgid "Pointers and fixed size buffers may only be used in an unsafe context" msgstr "" -#: mcs/mcs/ecore.cs:1225 +#: mcs/mcs/ecore.cs:1226 msgid "A pointer must be indexed by only one value" msgstr "" -#: mcs/mcs/ecore.cs:2685 +#: mcs/mcs/ecore.cs:2686 #, csharp-format msgid "The name `{0}' does not exist in the current context" msgstr "" -#: mcs/mcs/ecore.cs:2761 +#: mcs/mcs/ecore.cs:2762 #, csharp-format msgid "" "Dynamic keyword requires `{0}' to be defined. Are you missing System.Core." "dll assembly reference?" msgstr "" -#: mcs/mcs/ecore.cs:2842 +#: mcs/mcs/ecore.cs:2843 #, csharp-format msgid "" "A local variable `{0}' cannot be used before it is declared. Consider " "renaming the local variable when it hides the member `{1}'" msgstr "" -#: mcs/mcs/ecore.cs:2926 +#: mcs/mcs/ecore.cs:2927 #, csharp-format msgid "A local variable `{0}' cannot be used before it is declared" msgstr "" -#: mcs/mcs/ecore.cs:3079 +#: mcs/mcs/ecore.cs:3080 msgid "System.Void cannot be used from C#. Consider using `void'" msgstr "" -#: mcs/mcs/ecore.cs:3242 +#: mcs/mcs/ecore.cs:3243 #, csharp-format msgid "" "The type or namespace name `{0}' could not be found in the global namespace. " "Are you missing {1} assembly reference?" msgstr "" -#: mcs/mcs/ecore.cs:3246 +#: mcs/mcs/ecore.cs:3247 #, csharp-format msgid "" "The type or namespace name `{0}' does not exist in the namespace `{1}'. Are " "you missing {2} assembly reference?" msgstr "" -#: mcs/mcs/ecore.cs:3500 +#: mcs/mcs/ecore.cs:3501 #, csharp-format msgid "Cannot call an abstract base member `{0}'" msgstr "" -#: mcs/mcs/ecore.cs:3507 +#: mcs/mcs/ecore.cs:3508 #, csharp-format msgid "" "Cannot access protected member `{0}' via a qualifier of type `{1}'. The " "qualifier must be of type `{2}' or derived from it" msgstr "" -#: mcs/mcs/ecore.cs:3540 +#: mcs/mcs/ecore.cs:3541 #, csharp-format msgid "" "Fields of static readonly field `{0}' cannot be assigned to (except in a " "static constructor or a variable initializer)" msgstr "" -#: mcs/mcs/ecore.cs:3543 +#: mcs/mcs/ecore.cs:3544 #, csharp-format msgid "" "Members of readonly field `{0}' cannot be modified (except in a constructor " "or a variable initializer)" msgstr "" -#: mcs/mcs/ecore.cs:3552 +#: mcs/mcs/ecore.cs:3553 #, csharp-format msgid "" "Members of value type `{0}' cannot be assigned using a property `{1}' object " "initializer" msgstr "" -#: mcs/mcs/ecore.cs:3556 +#: mcs/mcs/ecore.cs:3557 #, csharp-format msgid "" "Cannot modify a value type return value of `{0}'. Consider storing the value " "in a temporary variable" msgstr "" -#: mcs/mcs/ecore.cs:3569 +#: mcs/mcs/ecore.cs:3570 #, csharp-format msgid "Cannot assign to members of `{0}' because it is a `{1}'" msgstr "" -#: mcs/mcs/ecore.cs:3595 +#: mcs/mcs/ecore.cs:3596 #, csharp-format msgid "" "Static member `{0}' cannot be accessed with an instance reference, qualify " "it with a type name instead" msgstr "" -#: mcs/mcs/ecore.cs:3610 +#: mcs/mcs/ecore.cs:3611 #, csharp-format msgid "" "A field initializer cannot reference the nonstatic field, method, or " "property `{0}'" msgstr "" -#: mcs/mcs/ecore.cs:3616 +#: mcs/mcs/ecore.cs:3617 msgid "Constructor initializer cannot access primary constructor parameters" msgstr "" -#: mcs/mcs/ecore.cs:3618 +#: mcs/mcs/ecore.cs:3619 #, csharp-format msgid "" "An object reference is required to access primary constructor parameter `{0}'" msgstr "" -#: mcs/mcs/ecore.cs:3623 +#: mcs/mcs/ecore.cs:3624 #, csharp-format msgid "An object reference is required to access non-static member `{0}'" msgstr "" -#: mcs/mcs/ecore.cs:3634 +#: mcs/mcs/ecore.cs:3635 #, csharp-format msgid "" "Cannot access a nonstatic member of outer type `{0}' via nested type `{1}'" msgstr "" -#: mcs/mcs/ecore.cs:3662 +#: mcs/mcs/ecore.cs:3663 msgid "Cannot modify the result of an unboxing conversion" msgstr "" -#: mcs/mcs/ecore.cs:3786 +#: mcs/mcs/ecore.cs:3787 msgid "An argument to nameof operator cannot be extension method group" msgstr "" -#: mcs/mcs/ecore.cs:3862 +#: mcs/mcs/ecore.cs:3863 #, csharp-format msgid "" "Type `{0}' does not contain a member `{1}' and the best extension method " "overload `{2}' requires an instance of type `{3}'" msgstr "" -#: mcs/mcs/ecore.cs:3866 +#: mcs/mcs/ecore.cs:3867 #, csharp-format msgid "" "Type `{0}' does not contain a member `{1}' and the best extension method " "overload `{2}' has some invalid arguments" msgstr "" -#: mcs/mcs/ecore.cs:4014 +#: mcs/mcs/ecore.cs:4015 msgid "An expression tree cannot contain an expression with method group" msgstr "" -#: mcs/mcs/ecore.cs:4020 +#: mcs/mcs/ecore.cs:4021 msgid "" "Partial methods with only a defining declaration or removed conditional " "methods cannot be used in an expression tree" msgstr "" -#: mcs/mcs/ecore.cs:4073 +#: mcs/mcs/ecore.cs:4075 #, csharp-format msgid "" "Cannot convert method group `{0}' to non-delegate type `{1}'. Consider using " "parentheses to invoke the method" msgstr "" -#: mcs/mcs/ecore.cs:4831 +#: mcs/mcs/ecore.cs:4834 #, csharp-format msgid "" "The type `{0}' does not contain a constructor that takes `{1}' arguments" msgstr "" -#: mcs/mcs/ecore.cs:5545 +#: mcs/mcs/ecore.cs:5548 #, csharp-format msgid "" "Type `{0}' does not contain a member `{1}' and the best extension method " @@ -1598,205 +1598,205 @@ msgid "" "without the extension method syntax" msgstr "" -#: mcs/mcs/ecore.cs:5584 +#: mcs/mcs/ecore.cs:5587 #, csharp-format msgid "" "The call is ambiguous between the following methods or properties: `{0}' and " "`{1}'" msgstr "" -#: mcs/mcs/ecore.cs:5647 +#: mcs/mcs/ecore.cs:5650 #, csharp-format msgid "" "The best overloaded collection initalizer method `{0}' cannot have `ref' or " "`out' modifier" msgstr "" -#: mcs/mcs/ecore.cs:5651 +#: mcs/mcs/ecore.cs:5654 #, csharp-format msgid "" "The best overloaded collection initalizer method `{0}' has some invalid " "arguments" msgstr "" -#: mcs/mcs/ecore.cs:5654 +#: mcs/mcs/ecore.cs:5657 #, csharp-format msgid "Delegate `{0}' has some invalid arguments" msgstr "" -#: mcs/mcs/ecore.cs:5658 +#: mcs/mcs/ecore.cs:5661 #, csharp-format msgid "The best overloaded method match for `{0}' has some invalid arguments" msgstr "" -#: mcs/mcs/ecore.cs:5667 +#: mcs/mcs/ecore.cs:5670 #, csharp-format msgid "" "Argument `#{0}' does not require `{1}' modifier. Consider removing `{1}' " "modifier" msgstr "" -#: mcs/mcs/ecore.cs:5670 +#: mcs/mcs/ecore.cs:5673 #, csharp-format msgid "Argument `#{0}' is missing `{1}' modifier" msgstr "" -#: mcs/mcs/ecore.cs:5687 +#: mcs/mcs/ecore.cs:5690 #, csharp-format msgid "Argument `#{0}' cannot convert `{1}' expression to type `{2}'" msgstr "" -#: mcs/mcs/ecore.cs:5739 +#: mcs/mcs/ecore.cs:5742 #, csharp-format msgid "" "The type arguments for method `{0}' cannot be inferred from the usage. Try " "specifying the type arguments explicitly" msgstr "" -#: mcs/mcs/ecore.cs:5768 +#: mcs/mcs/ecore.cs:5771 #, csharp-format msgid "No overload for method `{0}' takes `{1}' arguments" msgstr "" -#: mcs/mcs/ecore.cs:5871 +#: mcs/mcs/ecore.cs:5874 #, csharp-format msgid "The delegate `{0}' does not contain a parameter named `{1}'" msgstr "" -#: mcs/mcs/ecore.cs:5876 +#: mcs/mcs/ecore.cs:5879 #, csharp-format msgid "" "The best overloaded method match for `{0}' does not contain a parameter " "named `{1}'" msgstr "" -#: mcs/mcs/ecore.cs:5886 +#: mcs/mcs/ecore.cs:5889 #, csharp-format msgid "" "Named argument `{0}' cannot be used for a parameter which has positional " "argument specified" msgstr "" -#: mcs/mcs/ecore.cs:6255 +#: mcs/mcs/ecore.cs:6258 msgid "" "You cannot use fixed size buffers contained in unfixed expressions. Try " "using the fixed statement" msgstr "" -#: mcs/mcs/ecore.cs:6260 +#: mcs/mcs/ecore.cs:6263 #, csharp-format msgid "`{0}': Fixed size buffers can only be accessed through locals or fields" msgstr "" -#: mcs/mcs/ecore.cs:6342 +#: mcs/mcs/ecore.cs:6343 #, csharp-format msgid "" "A static readonly field `{0}' cannot be passed ref or out (except in a " "static constructor)" msgstr "" -#: mcs/mcs/ecore.cs:6345 +#: mcs/mcs/ecore.cs:6346 #, csharp-format msgid "" "A readonly field `{0}' cannot be passed ref or out (except in a constructor)" msgstr "" -#: mcs/mcs/ecore.cs:6359 +#: mcs/mcs/ecore.cs:6360 #, csharp-format msgid "" "Fields of static readonly field `{0}' cannot be passed ref or out (except in " "a static constructor)" msgstr "" -#: mcs/mcs/ecore.cs:6362 +#: mcs/mcs/ecore.cs:6363 #, csharp-format msgid "" "Members of readonly field `{0}' cannot be passed ref or out (except in a " "constructor)" msgstr "" -#: mcs/mcs/ecore.cs:6369 +#: mcs/mcs/ecore.cs:6370 #, csharp-format msgid "" "A static readonly field `{0}' cannot be assigned to (except in a static " "constructor or a variable initializer)" msgstr "" -#: mcs/mcs/ecore.cs:6372 +#: mcs/mcs/ecore.cs:6373 #, csharp-format msgid "" "A readonly field `{0}' cannot be assigned to (except in a constructor or a " "variable initializer)" msgstr "" -#: mcs/mcs/ecore.cs:6439 +#: mcs/mcs/ecore.cs:6440 #, csharp-format msgid "Use of possibly unassigned field `{0}'" msgstr "" -#: mcs/mcs/ecore.cs:6852 +#: mcs/mcs/ecore.cs:6853 #, csharp-format msgid "Property or event `{0}' is not supported by the C# language" msgstr "" -#: mcs/mcs/ecore.cs:6972 +#: mcs/mcs/ecore.cs:6973 #, csharp-format msgid "Use of possibly unassigned auto-implemented property `{0}'" msgstr "" -#: mcs/mcs/ecore.cs:7160 +#: mcs/mcs/ecore.cs:7161 #, csharp-format msgid "A range variable `{0}' may not be passes as `ref' or `out' parameter" msgstr "" -#: mcs/mcs/ecore.cs:7183 +#: mcs/mcs/ecore.cs:7184 #, csharp-format msgid "Property or indexer `{0}' cannot be assigned to (it is read-only)" msgstr "" -#: mcs/mcs/ecore.cs:7191 +#: mcs/mcs/ecore.cs:7192 #, 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:7271 +#: mcs/mcs/ecore.cs:7272 #, 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:7278 +#: mcs/mcs/ecore.cs:7279 #, 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:7464 +#: mcs/mcs/ecore.cs:7465 #, csharp-format msgid "" "The event `{0}' can only appear on the left hand side of `+=' or `-=' " "operator" msgstr "" -#: mcs/mcs/ecore.cs:7468 +#: mcs/mcs/ecore.cs:7469 #, 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:7640 +#: mcs/mcs/ecore.cs:7641 #, csharp-format msgid "" "An implicitly typed local variable declaration cannot be initialized with " "`{0}'" msgstr "" -#: mcs/mcs/ecore.cs:7655 +#: mcs/mcs/ecore.cs:7656 msgid "" "The contextual keyword `var' may only appear within a local variable " "declaration" @@ -1822,316 +1822,316 @@ msgstr "" msgid "Detection Parsing Error" msgstr "" -#: mcs/mcs/expression.cs:648 +#: mcs/mcs/expression.cs:652 #, csharp-format msgid "Operator `{0}' is ambiguous on an operand of type `{1}'" msgstr "" -#: mcs/mcs/expression.cs:754 +#: mcs/mcs/expression.cs:758 msgid "Cannot take the address of the given expression" msgstr "" -#: mcs/mcs/expression.cs:777 +#: mcs/mcs/expression.cs:781 msgid "" "You can only take the address of unfixed expression inside of a fixed " "statement initializer" msgstr "" -#: mcs/mcs/expression.cs:1021 +#: mcs/mcs/expression.cs:1025 msgid "The * or -> operator must be applied to a pointer" msgstr "" -#: mcs/mcs/expression.cs:1244 +#: mcs/mcs/expression.cs:1248 msgid "" "The operand of an increment or decrement operator must be a variable, " "property or indexer" msgstr "" -#: mcs/mcs/expression.cs:1487 +#: mcs/mcs/expression.cs:1491 #, csharp-format msgid "The second operand of `is' or `as' operator cannot be static type `{0}'" msgstr "" -#: mcs/mcs/expression.cs:1493 +#: mcs/mcs/expression.cs:1497 #, csharp-format msgid "The `{0}' operator cannot be applied to an operand of pointer type" msgstr "" -#: mcs/mcs/expression.cs:1499 +#: mcs/mcs/expression.cs:1503 #, csharp-format msgid "" "The `{0}' operator cannot be applied to a lambda expression, anonymous " "method, or method group" msgstr "" -#: mcs/mcs/expression.cs:2258 +#: mcs/mcs/expression.cs:2262 #, csharp-format msgid "`{0}' is not a valid pattern member" msgstr "" -#: mcs/mcs/expression.cs:2265 +#: mcs/mcs/expression.cs:2269 #, csharp-format msgid "Property `{0}.get' accessor is required" msgstr "" -#: mcs/mcs/expression.cs:2398 +#: mcs/mcs/expression.cs:2402 #, csharp-format msgid "" "The `as' operator cannot be used with a non-reference type parameter `{0}'. " "Consider adding `class' or a reference type constraint" msgstr "" -#: mcs/mcs/expression.cs:2402 +#: mcs/mcs/expression.cs:2406 #, csharp-format msgid "The `as' operator cannot be used with a non-nullable value type `{0}'" msgstr "" -#: mcs/mcs/expression.cs:2436 +#: mcs/mcs/expression.cs:2440 #, csharp-format msgid "Cannot convert type `{0}' to `{1}' via a built-in conversion" msgstr "" -#: mcs/mcs/expression.cs:2477 +#: mcs/mcs/expression.cs:2481 #, csharp-format msgid "Cannot convert to static type `{0}'" msgstr "" -#: mcs/mcs/expression.cs:2580 +#: mcs/mcs/expression.cs:2584 msgid "An expression tree cannot contain a declaration expression" msgstr "" -#: mcs/mcs/expression.cs:2677 +#: mcs/mcs/expression.cs:2681 msgid "" "The `default value' operator cannot be applied to an operand of a static type" msgstr "" -#: mcs/mcs/expression.cs:3364 +#: mcs/mcs/expression.cs:3368 #, csharp-format msgid "Operator `{0}' cannot be applied to operands of type `{1}' and `{2}'" msgstr "" -#: mcs/mcs/expression.cs:4171 +#: mcs/mcs/expression.cs:4175 msgid "To cast a negative value, you must enclose the value in parentheses" msgstr "" -#: mcs/mcs/expression.cs:4264 +#: mcs/mcs/expression.cs:4268 #, csharp-format msgid "" "Expression must be implicitly convertible to Boolean or its type `{0}' must " "define operator `{1}'" msgstr "" -#: mcs/mcs/expression.cs:5876 +#: mcs/mcs/expression.cs:5880 #, csharp-format msgid "" "A user-defined operator `{0}' must have each parameter type and return type " "of the same type in order to be applicable as a short circuit operator" msgstr "" -#: mcs/mcs/expression.cs:5886 +#: mcs/mcs/expression.cs:5890 #, csharp-format msgid "" "The type `{0}' must have operator `true' and operator `false' defined when " "`{1}' is used as a short circuit operator" msgstr "" -#: mcs/mcs/expression.cs:6261 +#: mcs/mcs/expression.cs:6265 #, csharp-format msgid "" "Type of conditional expression cannot be determined as `{0}' and `{1}' " "convert implicitly to each other" msgstr "" -#: mcs/mcs/expression.cs:6274 +#: mcs/mcs/expression.cs:6278 #, csharp-format msgid "" "Type of conditional expression cannot be determined because there is no " "implicit conversion between `{0}' and `{1}'" msgstr "" -#: mcs/mcs/expression.cs:6621 +#: mcs/mcs/expression.cs:6625 #, csharp-format msgid "Use of unassigned local variable `{0}'" msgstr "" -#: mcs/mcs/expression.cs:6644 +#: mcs/mcs/expression.cs:6648 #, csharp-format msgid "" "Cannot use fixed local `{0}' inside an anonymous method, lambda expression " "or query expression" msgstr "" -#: mcs/mcs/expression.cs:6662 +#: mcs/mcs/expression.cs:6666 #, csharp-format msgid "Cannot use uninitialized variable `{0}'" msgstr "" -#: mcs/mcs/expression.cs:6834 +#: mcs/mcs/expression.cs:6838 #, csharp-format msgid "" "Parameter `{0}' cannot be used inside `{1}' when using `ref' or `out' " "modifier" msgstr "" -#: mcs/mcs/expression.cs:6904 +#: mcs/mcs/expression.cs:6908 #, csharp-format msgid "Use of unassigned out parameter `{0}'" msgstr "" -#: mcs/mcs/expression.cs:7111 +#: mcs/mcs/expression.cs:7119 #, csharp-format msgid "Cannot invoke a non-delegate type `{0}'" msgstr "" -#: mcs/mcs/expression.cs:7122 +#: mcs/mcs/expression.cs:7130 #, csharp-format msgid "The member `{0}' cannot be used as method or delegate" msgstr "" -#: mcs/mcs/expression.cs:7144 +#: mcs/mcs/expression.cs:7152 msgid "" "Do not directly call your base class Finalize method. It is called " "automatically from your destructor" msgstr "" -#: mcs/mcs/expression.cs:7146 +#: mcs/mcs/expression.cs:7154 msgid "" "Destructors and object.Finalize cannot be called directly. Consider calling " "IDisposable.Dispose if available" msgstr "" -#: mcs/mcs/expression.cs:7175 +#: mcs/mcs/expression.cs:7183 #, csharp-format msgid "" "The base call to method `{0}' cannot be dynamically dispatched. Consider " "casting the dynamic arguments or eliminating the base access" msgstr "" -#: mcs/mcs/expression.cs:7270 +#: mcs/mcs/expression.cs:7278 #, csharp-format msgid "`{0}': cannot explicitly call operator or accessor" msgstr "" -#: mcs/mcs/expression.cs:7460 +#: mcs/mcs/expression.cs:7468 #, csharp-format msgid "Unsafe type `{0}' cannot be used in an object creation expression" msgstr "" -#: mcs/mcs/expression.cs:7483 +#: mcs/mcs/expression.cs:7491 #, csharp-format msgid "" "Cannot create an instance of the variable type `{0}' because it does not " "have the new() constraint" msgstr "" -#: mcs/mcs/expression.cs:7489 +#: mcs/mcs/expression.cs:7497 #, csharp-format msgid "" "`{0}': cannot provide arguments when creating an instance of a variable type" msgstr "" -#: mcs/mcs/expression.cs:7498 +#: mcs/mcs/expression.cs:7506 #, csharp-format msgid "Cannot create an instance of the static class `{0}'" msgstr "" -#: mcs/mcs/expression.cs:7510 +#: mcs/mcs/expression.cs:7518 #, csharp-format msgid "Cannot create an instance of the abstract class or interface `{0}'" msgstr "" -#: mcs/mcs/expression.cs:7783 +#: mcs/mcs/expression.cs:7791 msgid "" "An implicitly typed local variable declarator cannot use an array initializer" msgstr "" -#: mcs/mcs/expression.cs:7946 mcs/mcs/expression.cs:7971 +#: mcs/mcs/expression.cs:7954 mcs/mcs/expression.cs:7979 #, csharp-format msgid "An array initializer of length `{0}' was expected" msgstr "" -#: mcs/mcs/expression.cs:7962 +#: mcs/mcs/expression.cs:7970 msgid "" "Array initializers can only be used in a variable or field initializer. Try " "using a new expression instead" msgstr "" -#: mcs/mcs/expression.cs:7979 +#: mcs/mcs/expression.cs:7987 msgid "A nested array initializer was expected" msgstr "" -#: mcs/mcs/expression.cs:8026 +#: mcs/mcs/expression.cs:8034 msgid "An expression tree cannot contain a multidimensional array initializer" msgstr "" -#: mcs/mcs/expression.cs:8062 +#: mcs/mcs/expression.cs:8070 msgid "Cannot create an array with a negative size" msgstr "" -#: mcs/mcs/expression.cs:8154 +#: mcs/mcs/expression.cs:8162 msgid "" "Can only use array initializer expressions to assign to array types. Try " "using a new expression instead" msgstr "" -#: mcs/mcs/expression.cs:8578 +#: mcs/mcs/expression.cs:8586 msgid "" "The type of an implicitly typed array cannot be inferred from the " "initializer. Try specifying array type explicitly" msgstr "" -#: mcs/mcs/expression.cs:8733 +#: mcs/mcs/expression.cs:8741 msgid "" "The `this' object cannot be used before all of its fields are assigned to" msgstr "" -#: mcs/mcs/expression.cs:8739 +#: mcs/mcs/expression.cs:8747 msgid "" "Keyword `this' is not valid in a static property, static method, or static " "field initializer" msgstr "" -#: mcs/mcs/expression.cs:8742 +#: mcs/mcs/expression.cs:8750 msgid "" "Anonymous methods inside structs cannot access instance members of `this'. " "Consider copying `this' to a local variable outside the anonymous method and " "using the local instead" msgstr "" -#: mcs/mcs/expression.cs:8745 +#: mcs/mcs/expression.cs:8753 msgid "Keyword `this' is not available in the current context" msgstr "" -#: mcs/mcs/expression.cs:8821 +#: mcs/mcs/expression.cs:8829 msgid "Cannot take the address of `this' because it is read-only" msgstr "" -#: mcs/mcs/expression.cs:8823 +#: mcs/mcs/expression.cs:8831 msgid "Cannot pass `this' as a ref or out argument because it is read-only" msgstr "" -#: mcs/mcs/expression.cs:8825 +#: mcs/mcs/expression.cs:8833 msgid "Cannot assign to `this' because it is read-only" msgstr "" -#: mcs/mcs/expression.cs:8893 +#: mcs/mcs/expression.cs:8901 msgid "The __arglist construct is valid only within a variable argument method" msgstr "" -#: mcs/mcs/expression.cs:8954 +#: mcs/mcs/expression.cs:8962 msgid "An expression tree cannot contain a method with variable arguments" msgstr "" -#: mcs/mcs/expression.cs:9228 +#: mcs/mcs/expression.cs:9236 msgid "The typeof operator cannot be used on the dynamic type" msgstr "" -#: mcs/mcs/expression.cs:9269 +#: mcs/mcs/expression.cs:9277 #, csharp-format msgid "`{0}': an attribute argument cannot use type parameters" msgstr "" -#: mcs/mcs/expression.cs:9484 +#: mcs/mcs/expression.cs:9492 #, csharp-format msgid "" "`{0}' does not have a predefined size, therefore sizeof can only be used in " @@ -2139,154 +2139,154 @@ msgid "" "SizeOf)" msgstr "" -#: mcs/mcs/expression.cs:9549 +#: mcs/mcs/expression.cs:9557 #, csharp-format msgid "Alias `{0}' not found" msgstr "" -#: mcs/mcs/expression.cs:9590 +#: mcs/mcs/expression.cs:9598 msgid "" "The namespace alias qualifier `::' cannot be used to invoke a method. " "Consider using `.' instead" msgstr "" -#: mcs/mcs/expression.cs:9680 +#: mcs/mcs/expression.cs:9688 msgid "Cannot perform member binding on `null' value" msgstr "" -#: mcs/mcs/expression.cs:9847 +#: mcs/mcs/expression.cs:9850 #, csharp-format msgid "" "`{0}': cannot reference a type through an expression. Consider using `{1}' " "instead" msgstr "" -#: mcs/mcs/expression.cs:9926 +#: mcs/mcs/expression.cs:9929 #, csharp-format msgid "A nested type cannot be specified through a type parameter `{0}'" msgstr "" -#: mcs/mcs/expression.cs:9934 +#: mcs/mcs/expression.cs:9937 #, csharp-format msgid "" "Alias `{0}' cannot be used with `::' since it denotes a type. Consider " "replacing `::' with `.'" msgstr "" -#: mcs/mcs/expression.cs:10003 +#: mcs/mcs/expression.cs:10006 #, csharp-format msgid "The nested type `{0}' does not exist in the type `{1}'" msgstr "" -#: mcs/mcs/expression.cs:10027 +#: mcs/mcs/expression.cs:10030 #, csharp-format msgid "" "Type `{0}' does not contain a definition for `{1}' and no extension method " "`{1}' of type `{0}' could be found. Are you missing {2}?" msgstr "" -#: mcs/mcs/expression.cs:10318 +#: mcs/mcs/expression.cs:10322 #, csharp-format msgid "Cannot apply indexing with [] to an expression of type `{0}'" msgstr "" -#: mcs/mcs/expression.cs:10448 +#: mcs/mcs/expression.cs:10459 #, csharp-format msgid "Wrong number of indexes `{0}' inside [], expected `{1}'" msgstr "" -#: mcs/mcs/expression.cs:10888 +#: mcs/mcs/expression.cs:10899 msgid "" "The indexer base access cannot be dynamically dispatched. Consider casting " "the dynamic arguments or eliminating the base access" msgstr "" -#: mcs/mcs/expression.cs:10978 +#: mcs/mcs/expression.cs:10989 msgid "An expression tree may not contain a base access" msgstr "" -#: mcs/mcs/expression.cs:10996 +#: mcs/mcs/expression.cs:11007 msgid "Keyword `base' is not available in a static method" msgstr "" -#: mcs/mcs/expression.cs:10998 +#: mcs/mcs/expression.cs:11009 msgid "Keyword `base' is not available in the current context" msgstr "" -#: mcs/mcs/expression.cs:11036 +#: mcs/mcs/expression.cs:11047 msgid "" "A property, indexer or dynamic member access may not be passed as `ref' or " "`out' parameter" msgstr "" -#: mcs/mcs/expression.cs:11381 +#: mcs/mcs/expression.cs:11392 #, csharp-format msgid "Array elements cannot be of type `{0}'" msgstr "" -#: mcs/mcs/expression.cs:11384 +#: mcs/mcs/expression.cs:11395 #, csharp-format msgid "Array elements cannot be of static type `{0}'" msgstr "" -#: mcs/mcs/expression.cs:11560 +#: mcs/mcs/expression.cs:11571 msgid "Cannot use a negative size with stackalloc" msgstr "" -#: mcs/mcs/expression.cs:11564 +#: mcs/mcs/expression.cs:11575 msgid "Cannot use stackalloc in finally or catch" msgstr "" -#: mcs/mcs/expression.cs:11719 +#: mcs/mcs/expression.cs:11730 #, csharp-format msgid "" "Member `{0}' cannot be initialized. An object initializer may only be used " "for fields, or properties" msgstr "" -#: mcs/mcs/expression.cs:11727 +#: mcs/mcs/expression.cs:11738 #, csharp-format msgid "" "Static field or property `{0}' cannot be assigned in an object initializer" msgstr "" -#: mcs/mcs/expression.cs:11831 +#: mcs/mcs/expression.cs:11842 msgid "Expression tree cannot contain a dictionary initializer" msgstr "" -#: mcs/mcs/expression.cs:11956 +#: mcs/mcs/expression.cs:11967 #, 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:11967 +#: mcs/mcs/expression.cs:11978 #, csharp-format msgid "Inconsistent `{0}' member declaration" msgstr "" -#: mcs/mcs/expression.cs:11975 +#: mcs/mcs/expression.cs:11986 #, csharp-format msgid "" "An object initializer includes more than one member `{0}' initialization" msgstr "" -#: mcs/mcs/expression.cs:11993 +#: mcs/mcs/expression.cs:12004 #, csharp-format msgid "Cannot initialize object of type `{0}' with a collection initializer" msgstr "" -#: mcs/mcs/expression.cs:12138 +#: mcs/mcs/expression.cs:12149 msgid "" "Object and collection initializers cannot be used to instantiate a delegate" msgstr "" -#: mcs/mcs/expression.cs:12346 +#: mcs/mcs/expression.cs:12357 msgid "Anonymous types cannot be used in this expression" msgstr "" -#: mcs/mcs/expression.cs:12440 +#: mcs/mcs/expression.cs:12451 #, 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 7fb9edd41c69b63d37c2feb883484cbb178aad07..4dea3e3db16273dcdaad182895ca0a511cc0c2cf 100644 GIT binary patch delta 26 icmX@Po8{zgmJMRlxD5?-4a^h_OsxzIH!DtC(GCEDk_jaM delta 26 icmX@Po8{zgmJMRlxD70IjZ72_Osz~THY-kB(GCEEQ3*Hz diff --git a/po/mcs/pt_BR.po.REMOVED.git-id b/po/mcs/pt_BR.po.REMOVED.git-id index 7a0c895a9c..129dee6dc2 100644 --- a/po/mcs/pt_BR.po.REMOVED.git-id +++ b/po/mcs/pt_BR.po.REMOVED.git-id @@ -1 +1 @@ -041a3348d42766d063aa488a09698ad0f3029a26 \ No newline at end of file +0e40af127109b02fbd5bb5af7859cc05846654b9 \ No newline at end of file diff --git a/tools/locale-builder/Driver.cs b/tools/locale-builder/Driver.cs index a8ec6d2f0e..3907485baf 100644 --- a/tools/locale-builder/Driver.cs +++ b/tools/locale-builder/Driver.cs @@ -1170,6 +1170,7 @@ namespace Mono.Tools.LocaleBuilder // .net has incorrect separators for some countries and we want to be compatible switch (ci.Name) { case "es-ES": + case "es": // es-ES does not have group separator but .net has '.' value = "."; break;