Sebastien Pouliot [Wed, 28 May 2014 13:06:36 +0000 (09:06 -0400)]
[corlib][ios] Fix 'write' pinvoke declaration to be 64bits safe
Marek Safar [Wed, 28 May 2014 08:59:31 +0000 (10:59 +0200)]
[mcs] Emit unmanaged version info from AssemblyFileVersion. Fixes #20057
Zoltan Varga [Tue, 27 May 2014 22:09:47 +0000 (00:09 +0200)]
[runtime] Call mono_threads_join_threads () to prevent running out of threads when the finalizer threads becomes blocked/backlogged.
Zoltan Varga [Tue, 27 May 2014 20:36:37 +0000 (22:36 +0200)]
[llvm] Fix the loadable llvm build.
Rodrigo Kumpera [Tue, 27 May 2014 19:38:49 +0000 (15:38 -0400)]
[runtime] Add a test for the type loading changes.
Rodrigo Kumpera [Tue, 27 May 2014 19:36:42 +0000 (15:36 -0400)]
[runtime] Ensure reflection-based assembly load has a basedir set.
When loading assemblies, we must ensure that a basedir is provided otherwise
things like custom attributes and Type.GetType won't be able to load sibling
assemblies when basedir is not the same of the domain.
Miguel de Icaza [Tue, 27 May 2014 18:59:25 +0000 (14:59 -0400)]
[build] Address the System.Configuration test problem
The compiler seems to ignore reference assemblies with a full path when the
-lib: directive is passed, so things like:
-lib:FOO -r:BAR/bar.dll
Would resolve bar.dll to FOO/bar.dll, instead of BAR/bar.dll.
This is a problem with the test suite as it needs to reference the
final build of System.Configuration from $(the_libdir_base) and not
the intermediate step.
To work around this issue, we introduce "test_remove" variable that is
a piece of text that will be removed from the TEST_COMPILE variable
when this is evaluated.
This means that it gets CSCOMPILE and then it removes the bits that we
are not interested in.
Zoltan Varga [Tue, 27 May 2014 18:41:57 +0000 (20:41 +0200)]
[llvm] Fix support for native types.
Mark Probst [Tue, 27 May 2014 17:46:32 +0000 (10:46 -0700)]
[sgen] Remove unnecessary newline from warning.
Mark Probst [Tue, 27 May 2014 17:45:58 +0000 (10:45 -0700)]
[sgen] Fix for ridiculously small nurseries.
Joao Matos [Tue, 27 May 2014 16:29:45 +0000 (17:29 +0100)]
Fixed TLAB_ACCESS_INIT usages in MSVC by moving the macro expansions to the start of each block.
Joao Matos [Tue, 27 May 2014 15:57:19 +0000 (16:57 +0100)]
Revert "Fixed TLAB_ACCESS_INIT usages in MSVC by declaring the variables explicitly at the start of each block."
This will be fixed in a slightly different way.
This reverts commit
aa7ab303bae3de8e8401cbbb4dbc92964347994e.
Joao Matos [Tue, 27 May 2014 15:55:48 +0000 (16:55 +0100)]
Replaced "__asm call $+5" pattern to get the IP with a label.
This was suggested by Kumpera as a work-around for the lack of support for $ in clang-cl.
Marek Safar [Tue, 27 May 2014 16:14:02 +0000 (18:14 +0200)]
[corlib] Disable test
Marek Safar [Tue, 27 May 2014 15:33:52 +0000 (17:33 +0200)]
[mcs] More of correct error propagation
Rodrigo Kumpera [Tue, 27 May 2014 15:04:08 +0000 (11:04 -0400)]
[System.Configuration] Temporary fix for system.configuration test suite.
Marek Safar [Tue, 27 May 2014 15:04:24 +0000 (17:04 +0200)]
[system] Fix warnings
Marek Safar [Tue, 27 May 2014 14:14:14 +0000 (16:14 +0200)]
[mcs] Fix expression tree conversion type for lifted enum equality comparisons. Fixes #19938
Zoltan Varga [Tue, 27 May 2014 13:29:04 +0000 (15:29 +0200)]
[arm64] Fix mono_strtod ().
Marek Safar [Tue, 27 May 2014 12:37:17 +0000 (14:37 +0200)]
[mcs] Report error when named argument for param parameter is given but not all formal parameters are provided. Fixes #19878
Alex Rønne Petersen [Tue, 27 May 2014 10:18:42 +0000 (12:18 +0200)]
Merge pull request #1062 from sethjackson/sem_timedwait
OpenBSD has sem_timedwait().
Marek Safar [Tue, 27 May 2014 08:46:54 +0000 (10:46 +0200)]
[mcs] Unify reachable label lookup. Fixes #19887
Marek Safar [Tue, 27 May 2014 07:32:55 +0000 (09:32 +0200)]
Merge pull request #1060 from rolfbjarne/logical-name-in-embedded-resources
[Microsoft.Build.Tasks] Add support for LogicalName in EmbeddedResources...
Atsushi Eno [Tue, 27 May 2014 05:08:58 +0000 (14:08 +0900)]
[ms.build] use appropriate ProjectCollection so that it can build the projects with appropriate settings.
Now a solution turns into a project with "BuildingSolutionFile" property
which is assigned by SolutionParser and subsequently gets _ExplicitReference
that is to store path to mscorlib.dll and thence projects build.
Atsushi Eno [Tue, 27 May 2014 03:53:15 +0000 (12:53 +0900)]
[ms.build] follow xbuild to use version 12.0.
Atsushi Eno [Tue, 27 May 2014 03:52:52 +0000 (12:52 +0900)]
[ms.build] Add msbuild.rsp.
Seth Jackson [Tue, 27 May 2014 01:43:35 +0000 (21:43 -0400)]
OpenBSD has sem_timedwait().
This change released under the MIT license with permission from the original
author Robert Nagy.
Sebastien Pouliot [Tue, 27 May 2014 00:02:24 +0000 (20:02 -0400)]
[Mono.Security] Add new test files (form previous PR) to the build
Sebastien Pouliot [Tue, 27 May 2014 00:00:43 +0000 (20:00 -0400)]
Merge pull request #1057 from lextm/master
[Mono.Security] Added Encode to AuthorityKeyIdentifierExtension and Subj...
Zoltan Varga [Mon, 26 May 2014 23:50:32 +0000 (01:50 +0200)]
Merge pull request #1061 from sethjackson/L_cuserid
L_cuserid was removed from OpenBSD.
Joao Matos [Mon, 26 May 2014 22:42:09 +0000 (23:42 +0100)]
Replaced C99 variable-length array with an alloca to work with MSVC.
Joao Matos [Mon, 26 May 2014 22:40:30 +0000 (23:40 +0100)]
Fixed SGEN_HASH_TABLE_INIT usages to work in MSVC.
Joao Matos [Mon, 26 May 2014 22:39:34 +0000 (23:39 +0100)]
Fixed TLAB_ACCESS_INIT usages in MSVC by declaring the variables explicitly at the start of each block.
Sebastien Pouliot [Mon, 26 May 2014 21:27:26 +0000 (17:27 -0400)]
[System.ServiceModel.Web] Fix issue with types explicitly implementing IDictionary or IDictionary<,>
Issue: The previous code, with new tests [1], failed when the linker was
enabled.
That was caused because the code looks for the Keys and Item properties
getter using reflection. The linker handled that imperfectly (it left
some holes), in part because:
* System.Collections.Generic.IDictionary`2 does not implement
System.Collections.IDictionary; and
* It preserved the explicit methods - not the implicit one that were
used the the reflection-based code;
That later fact is also a bug (without the linker involvment) and solved
by this commit. A unit test was added to show the issue (NRE).
The patch also avoid the use of reflection for IDictionary since we can
simply typecast to get the same result (without the additional cost).
Seth Jackson [Mon, 26 May 2014 21:21:27 +0000 (17:21 -0400)]
L_cuserid was removed from OpenBSD.
This change released under the MIT license with permission from the original
author Christian Weisgerber.
Rolf Bjarne Kvinge [Mon, 26 May 2014 16:53:05 +0000 (18:53 +0200)]
Use string.IsNullOrEmpty instead of .Length.
Marek Safar [Mon, 26 May 2014 16:50:05 +0000 (18:50 +0200)]
[mcs] Don't release field address copy before it's used. Fixes #20040
Rolf Bjarne Kvinge [Fri, 23 May 2014 16:53:18 +0000 (18:53 +0200)]
[arm64] Fix another crash due to not using the right objc_msgSend signature.
Also simplify the code a little bit, there's no need to have separate
code paths for ARM64, since using the correct objc_msgSend signature
works on all architectures.
Rolf Bjarne Kvinge [Fri, 23 May 2014 16:51:33 +0000 (18:51 +0200)]
Fix a couple of compiler warnings.
Rolf Bjarne Kvinge [Mon, 26 May 2014 16:17:36 +0000 (18:17 +0200)]
[Microsoft.Build.Tasks] Add support for LogicalName in EmbeddedResources.
Lex Li [Mon, 26 May 2014 13:09:41 +0000 (13:09 +0000)]
[Mono.Security] Added AuthorityKeyIdentifierExtensionTest and SubjectKeyIdentifierExtensionTest.
Marek Safar [Mon, 26 May 2014 13:14:58 +0000 (15:14 +0200)]
[mcs] Fix error reporting propagation for loop statements. Fixes #20034
Zoltan Varga [Mon, 26 May 2014 09:49:12 +0000 (11:49 +0200)]
Merge pull request #1059 from ranma42/jenkins-warnings-cleanup
Cleanup of some MonoJenkins warnings
Marek Safar [Mon, 26 May 2014 07:55:40 +0000 (09:55 +0200)]
Merge pull request #1033 from godFather89/master
When dynamically compiling script with a class with a nested class defin...
Marek Safar [Mon, 26 May 2014 07:54:33 +0000 (09:54 +0200)]
[mcs] Don't report hiding warnings for compiler generated fields
Marek Safar [Mon, 26 May 2014 07:53:32 +0000 (09:53 +0200)]
[mcs] Add cref handling of user operator documentation without parameters
Marek Safar [Mon, 26 May 2014 07:47:20 +0000 (09:47 +0200)]
[eval] Add test for nested types
Andrea Canciani [Sun, 25 May 2014 09:13:18 +0000 (11:13 +0200)]
Fix non-prototype function declarations
MonoJenkins repeatedly complains about:
mono-counters.c:xxx:1: warning: function declaration isn't a prototype
[-Wstrict-prototypes]
This is caused by the missing declaration of the function arguments.
This change is released under the MIT license.
Andrea Canciani [Sun, 25 May 2014 09:31:05 +0000 (11:31 +0200)]
More C90 compatibility fixes
This silences the following gcc/clang warnings from MonoJenkins:
sgen-tarjan-bridge.c:395:2: warning: ISO C90 forbids mixed declarations and code
proflog.c:1942:2: warning: ISO C90 forbids mixed declarations and code
proflog.c:1999:3: warning: ISO C90 forbids mixed declarations and code
decode.c:2409:6: warning: ISO C90 forbids mixed declarations and code
decode.c:2433:6: warning: ISO C90 forbids mixed declarations and code
Moving the declarations to the beginning of the blocks is sufficient
to silence the warnings.
This change is released under the MIT license.
Alex Rønne Petersen [Sun, 25 May 2014 17:00:43 +0000 (19:00 +0200)]
Rename configure.in -> configure.ac. Based on PR #976.
Alex Rønne Petersen [Sun, 25 May 2014 16:49:12 +0000 (18:49 +0200)]
Merge pull request #1056 from ranma42/vc-compat-C90
Fix the build on Visual C++
Lex Li [Sun, 25 May 2014 12:02:57 +0000 (12:02 +0000)]
[Mono.Security] Added Encode to AuthorityKeyIdentifierExtension and SubjectKeyIdentifierExtension.
Andrea Canciani [Sun, 25 May 2014 07:56:23 +0000 (09:56 +0200)]
Fix the build on Visual C++
Visual C++ does not support intermixed declarations and code and
errors out with:
error C2275: 'guint' : illegal use of this type as an expression
This also silences gcc/clang warnings such as:
mono-counters.c:xxx:3: warning: ISO C90 forbids mixing declarations
and code
In this case this can be fixed easily by skipping the intermediate
variable.
Based on pull request #1043 by J-M <jean-michel.perraud@csiro.au>
This change is released under the MIT license.
Marek Safar [Sun, 25 May 2014 07:27:34 +0000 (09:27 +0200)]
Merge pull request #1055 from josedonizetti/fix_datacontractserializer_tests
validate if attribute is defined before check IsAny
Miguel de Icaza [Sun, 25 May 2014 04:47:09 +0000 (00:47 -0400)]
[build] the csproj files can now do a full class libraries build
Miguel de Icaza [Sun, 25 May 2014 04:41:55 +0000 (00:41 -0400)]
[System.Runtime.Remoting] Build if DBEUG Is defined
Miguel de Icaza [Sun, 25 May 2014 04:33:21 +0000 (00:33 -0400)]
[build] MSBuild setup: Add support for -keyfile and -delaysign, thanks to Marek Safar for the pointer
Miguel de Icaza [Sun, 25 May 2014 04:32:18 +0000 (00:32 -0400)]
[build] Drop AssemblyInfo from the sources in Mono.Cecil.Mdb
Miguel de Icaza [Sat, 24 May 2014 02:47:40 +0000 (22:47 -0400)]
[build] Fix Mono.Cecil.Mdb build with xbuild
josedonizetti [Fri, 23 May 2014 15:49:02 +0000 (11:49 -0400)]
validate if attribute is defined before check IsAny
Marek Safar [Sat, 24 May 2014 06:24:42 +0000 (08:24 +0200)]
Revert "[build] Make Mono.Cecil use an [assmebly:AssemblyKeyFile] to specify keyfile"
This reverts commit
20872b3abe24c0e085710ea09209a92617fdb2e5 to fix the build
Miguel de Icaza [Sat, 24 May 2014 02:40:24 +0000 (22:40 -0400)]
[build] Make Mono.Cecil use an [assmebly:AssemblyKeyFile] to specify keyfile
Currently the flag is passed on the command line, but this is
problematic for us since our xbuild implementation does not seem to support
the attribute that generates the /keyfile: argument
Rolf Bjarne Kvinge [Sat, 24 May 2014 00:17:49 +0000 (02:17 +0200)]
Fix TimeZoneTest to build properly with new-style XI assemblies.
Rolf Bjarne Kvinge [Sat, 24 May 2014 00:16:59 +0000 (02:16 +0200)]
Remove unused namespace from LazyTest.cs
Miguel de Icaza [Fri, 23 May 2014 22:03:32 +0000 (18:03 -0400)]
[build] Fix the reference to ecma.pub
Rodrigo Kumpera [Fri, 23 May 2014 21:33:56 +0000 (17:33 -0400)]
[runtime] Don't leak memory if the custom attribute constructor throws.
Rodrigo Kumpera [Fri, 23 May 2014 21:30:51 +0000 (17:30 -0400)]
[runtime] Add regression tests for custom attribute loader errors.
Rodrigo Kumpera [Fri, 23 May 2014 21:15:11 +0000 (17:15 -0400)]
[reflection] Harder the custom attribute code against common type load errors.
Replace silent failures with exceptions.
Rodrigo Kumpera [Fri, 23 May 2014 19:38:35 +0000 (15:38 -0400)]
[runtime] Change the semantics of mono_error_set_type_load_name to acquire alloc'd strings.
The use case for this function compared to the one that take MonoClass/MonoImage is for lookups
and the failed names are usually freshly alloc'd.
Fix a leak in class.c usage of mono_error_set_type_load_name.
Rodrigo Kumpera [Fri, 23 May 2014 18:10:47 +0000 (14:10 -0400)]
[reflection] Do proper error handling in more cases.
Remove all internal usages of mono_custom_attrs_construct and replace with mono_custom_attrs_construct_by_type
that takes a MonoError.
Introduce mono_custom_attrs_get_attr_checked and replace usage of the old one where it's needed.
Miguel de Icaza [Fri, 23 May 2014 21:15:44 +0000 (17:15 -0400)]
[build] Fresh new csproj files based on the updated build system.
Miguel de Icaza [Fri, 23 May 2014 21:12:43 +0000 (17:12 -0400)]
[build] Fix location of the key file
Miguel de Icaza [Fri, 23 May 2014 21:09:30 +0000 (17:09 -0400)]
[Managed.Windows.Forms] Disable TRACE code, since it is broken
Miguel de Icaza [Fri, 23 May 2014 20:58:26 +0000 (16:58 -0400)]
[build] The ecma.pub is one directory above
Miguel de Icaza [Fri, 23 May 2014 20:54:25 +0000 (16:54 -0400)]
[msvc/scripts] Update order.xml file with Makefile changes, update generator
Miguel de Icaza [Fri, 23 May 2014 20:51:33 +0000 (16:51 -0400)]
[build] Ensure that staged build directories are set on LOCAL_MCS_FLAGS
The LOCAL_MCS_FLAGS are passed to the compiler before the standard
directory for the profile. This is important both for correctness,
and also assists the solution generator, since we can now precisely
determine which intermediate project must be referenced.
Marek Safar [Fri, 23 May 2014 19:27:22 +0000 (21:27 +0200)]
Fix warnings
Marek Safar [Fri, 23 May 2014 19:11:42 +0000 (21:11 +0200)]
[system] Add SendMailAsync methods
Miguel de Icaza [Fri, 23 May 2014 19:11:18 +0000 (15:11 -0400)]
[mscorlib] Since .NET 4.5 some of the System.IdentityModel now is in the core, add this class
Jonathan Pryor [Fri, 23 May 2014 17:26:52 +0000 (13:26 -0400)]
[Mono.Posix] Support OS X ENOATTR
Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=19991
The original Mono.Unix.Native.Errno design used the Linux <errno.h>
constants and values...largely because it was easy.
As it turns out, this is also incomplete. The getxattr(2) defines
ENOATTR as a possible error code. On Linux, ENOATTR is an alias for
ENODATA [0]. On OS X, ENOATTR is _not_ an alias. Furthermore, since
ENOATTR is not a Linux errno value (it's an alias!),
Mono_Posix_ToErrno() couldn't check for the native ENOATTR value, so a
Syscall.GetLastError() call after a failing Syscall.getxattr() would
fail with a System.ArgumentOutOfRangeException:
$ csharp -r:Mono.Posix.dll
Mono C# Shell, type "help;" for help
Enter statements below.
csharp> using Mono.Unix.Native;
csharp> byte[] value;
csharp> Syscall.getxattr(".", "test", out value);
-1
csharp> Syscall.GetLastError();
System.ArgumentOutOfRangeException: Current platform doesn't support this value.
Parameter name: value
93
at Mono.Unix.Native.NativeConvert.ThrowArgumentException (System.Object value) [0x00000] in <filename unknown>:0
at Mono.Unix.Native.NativeConvert.ToErrno (Int32 value) [0x00000] in <filename unknown>:0
at Mono.Unix.Native.Stdlib.GetLastError () [0x00000] in <filename unknown>:0
The fix is to add an Errno.ENOATTR field [1].
The complication is one of what enum value to use: at present, the
Errno values are based on the Linux values. In the case of ENOATTR
(and others), there is no Linux value. Meanwhile, there is the
possibility of additional Linux error values; how do we future proof
ourselves?
This isn't a perfect solution, but it should punt the problem down the
road a bit: Errno is an `int` enum, and thus has large range. To
support the OS X values, we add 1000 to the OS X error value.
/* OS X: <errno.h> */
#define ENOATTR 93 /* Attribute not found */
// C# Errno enum:
public enum Errno : int {
// ...
ENOATTR = 1093,
}
This gives us 0..1000 for POSIX+Linux error codes, 1000..2000 for OS X
specific error codes, and as new platforms require additional support
they can all start at multiples of 1000.
Hopefully no single *nix platform will add more than 1000 error codes...
[0]: http://linux.die.net/man/2/getxattr
[1]: Related part of the fix: add all the OTHER <errno.h> values that
OS X includes but weren't included in the Errno enum.
Sebastien Pouliot [Fri, 23 May 2014 17:26:34 +0000 (13:26 -0400)]
Revert "[system] Add new StreamWebSocket.cs file to the mobile profile list of sources"
This reverts commit
00ecc7392d03c817d2f52de6758195633b2d28ee.
Atsushi Eno [Fri, 23 May 2014 16:26:29 +0000 (01:26 +0900)]
[xbuild] fix NET_2_0 build.
Atsushi Eno [Fri, 23 May 2014 16:24:27 +0000 (01:24 +0900)]
[xbuild] implement ToolLocationHelper.GetPathToStandardLibraries().
Miguel de Icaza [Fri, 23 May 2014 15:51:20 +0000 (11:51 -0400)]
[build] Add new project files based on the new staged build
Miguel de Icaza [Fri, 23 May 2014 15:35:10 +0000 (11:35 -0400)]
[build] Use LOCAL_MCS_FLAGS to give preference to the intermediate dir in System builds, and do not use temporary files for corlib builds
Marek Safar [Fri, 23 May 2014 15:22:39 +0000 (17:22 +0200)]
Revert "Merge pull request #981 from methane/websocket"
This reverts commit
62cc262196951b67a13069444b889dc71758776c, reversing
changes made to
c1028cf91286489ef075a33c91d29d1efea8d200.
Miguel de Icaza [Fri, 23 May 2014 15:04:34 +0000 (11:04 -0400)]
[System] Fix parsing of IPv6 addresses (bug #18574)
From Dick Porter:
The IPv6 address parser misses some syntax errors, and can become confused by
addresses that at first glance look IPv4 compatible. The attach patch contains
the following fixes:
Don't fail to parse an address if we mistakenly thought it was IPv4 compatible
or mapped, just treat it as IPv6.
Fix IPv4-compatible and mapped address formatting in ToString().
Fix parsing of colons - specifically occurrences of ':::'.
Make sure blocks of digits are no longer than 4 characters.
Add some more parsing tests to Mono's NUnit test suite.
Add a NUnit test for bogus IPv6 addresses.
Miguel de Icaza [Thu, 22 May 2014 22:12:55 +0000 (18:12 -0400)]
Update order.xml
Sebastien Pouliot [Fri, 23 May 2014 13:15:26 +0000 (09:15 -0400)]
[system] Small optimization for Xamarin.Mac (where we know we're executing on a Mac)
Atsushi Eno [Fri, 23 May 2014 12:16:43 +0000 (21:16 +0900)]
[msbuild] implement CodeTaskFactory i.e. inline tasks.
Atsushi Eno [Fri, 23 May 2014 12:14:39 +0000 (21:14 +0900)]
[MS.Build] fix some TaskFactory related bugs uncovered by CodeTaskFactory impl.
- ITaskFactory could return null, so check the return value.
- UsingTask descendants could have property references, so use ExpandString.
- TaskBody was not appropriately passed to internal structure.
Atsushi Eno [Fri, 23 May 2014 12:10:57 +0000 (21:10 +0900)]
[MS.Build] fix default build targets to not return empty list in Project.
And since the code is almost the same as existing ProjectInstance one, just
make it identical. (Should be unified, but depends on members, hence TODO.)
Martin Baulig [Fri, 23 May 2014 11:15:25 +0000 (13:15 +0200)]
Small fix.
Martin Baulig [Fri, 23 May 2014 11:12:56 +0000 (13:12 +0200)]
Revert "Fix WebProxy.BypassProxyOnLocal logic."
This reverts commit
3f7ad8f457f67576f400a172573081818fbda2dc.
WebProxy.BypassProxyOnLocal is really broken! There seems to be no
way of actually bypassing a proxy on local connections.
Alex Rønne Petersen [Fri, 23 May 2014 10:49:28 +0000 (12:49 +0200)]
Merge pull request #1052 from sethjackson/master
Don't define _XOPEN_SOURCE on OpenBSD.
Marek Safar [Fri, 23 May 2014 09:15:37 +0000 (11:15 +0200)]
Fix tests not to hang on failure
Marek Safar [Fri, 23 May 2014 08:57:14 +0000 (10:57 +0200)]
[mcs] Expand type parameter member change using effective base type
Martin Baulig [Fri, 23 May 2014 08:09:38 +0000 (10:09 +0200)]
Fix WebProxy.BypassProxyOnLocal logic.
Marek Safar [Fri, 23 May 2014 07:27:16 +0000 (09:27 +0200)]
[mcs] Handling of nested effective base classes
Marek Safar [Fri, 23 May 2014 04:44:42 +0000 (06:44 +0200)]
Merge pull request #1051 from josedonizetti/bug11916-DataContractSerializer
add IsAny=true support for DataContractSerializer