João Matos [Tue, 17 Mar 2015 12:23:55 +0000 (12:23 +0000)]
[genproj] Ignore temporary project generation inputs.
João Matos [Tue, 17 Mar 2015 12:23:28 +0000 (12:23 +0000)]
[genproj] Added support for mcs "/-getresourcestrings" switch.
João Matos [Tue, 17 Mar 2015 12:22:37 +0000 (12:22 +0000)]
[genproj] Remove non .NET 4.5 solutions from being generated.
Marek Safar [Tue, 17 Mar 2015 16:42:11 +0000 (17:42 +0100)]
[corlib] Fixes remoting response message arguments assignment
Marek Safar [Tue, 17 Mar 2015 16:02:06 +0000 (17:02 +0100)]
[corlib] Keep only one remoting MessageDictionary, it's special cased in binary serialization
Marcos Henrich [Tue, 17 Mar 2015 12:49:11 +0000 (12:49 +0000)]
[System] Fixed SafeSocketHandle concurrency problem.
When ReleaseHandle was called by RegisterForBlockingSyscall's DangerousRelease the current thread would be in blocking_threads but there would be no blocking system call to interrupt.
Marcos Henrich [Tue, 17 Mar 2015 11:20:36 +0000 (11:20 +0000)]
[runtime] Assert that thread_resume returns KERN_SUCCESS.
Marcos Henrich [Tue, 17 Mar 2015 11:05:21 +0000 (11:05 +0000)]
[runtime] Fixed thread_abort_safely not interrupting accept.
For some reason accept can only be interrupted by thread_abort.
We do not want to use thread_abort by default because it may abort non-atomic operations at an arbitrary point.
The problem was fixed by calling thread_abort_safely, and make sure the target thread was interrupted by calling thread_abort afterwards.
In this change thread_abort is only called if thread_abort_safely returns KERN_SUCCESS, which *should* mean that the target thread has already left the kernel code by the time thread_abort is called.
Neale Ferguson [Tue, 17 Mar 2015 14:35:21 +0000 (10:35 -0400)]
s390x-codegen.h : Fix instruction definition and add instruction format variant
mini-s390x.h : Enable profile coverage
suport-s390x.h : Add processor facility definitions
Marek Safar [Tue, 17 Mar 2015 13:03:39 +0000 (14:03 +0100)]
[system.date] Fix DefaultValue expression serialization
Atsushi Eno [Tue, 17 Mar 2015 10:56:10 +0000 (18:56 +0800)]
[xlinq] add test from bug #14856.
Atsushi Eno [Tue, 17 Mar 2015 10:55:34 +0000 (18:55 +0800)]
[xml] add test from bug #2917.
Marek Safar [Tue, 17 Mar 2015 08:37:01 +0000 (09:37 +0100)]
[corlib] Always pass ProxyCheckCast check
Marek Safar [Tue, 17 Mar 2015 08:36:39 +0000 (09:36 +0100)]
[corlib] Add missing public type
Marek Safar [Tue, 17 Mar 2015 07:03:08 +0000 (08:03 +0100)]
[corlib] Serialization from reference sources
Zoltan Varga [Tue, 17 Mar 2015 06:32:06 +0000 (02:32 -0400)]
[jit] Add exception checks after direct calls to icalls by inlining the wrapper.
Zoltan Varga [Tue, 17 Mar 2015 04:55:02 +0000 (00:55 -0400)]
[jit] Disable direct icalls for now to fix the build.
Zoltan Varga [Tue, 17 Mar 2015 04:54:15 +0000 (00:54 -0400)]
[jit] Split the CEE_CALLI conv into a separate switch case to simplify the logic in the CEE_CALL/CEE_CALLVIRT case.
Zoltan Varga [Tue, 17 Mar 2015 04:05:46 +0000 (00:05 -0400)]
[amd64] Fix aot support in throw_pending_exception ().
Zoltan Varga [Tue, 17 Mar 2015 02:13:47 +0000 (22:13 -0400)]
[runtime] Allocate objects outside the lock in mono_string_is_interned_lookup ().
Zoltan Varga [Tue, 17 Mar 2015 01:34:41 +0000 (21:34 -0400)]
Merge pull request #1633 from BrzVlad/fix-w32-pinvoke
[x86] Handle stack pop done by native stdcalls.
Zoltan Varga [Tue, 17 Mar 2015 00:34:46 +0000 (20:34 -0400)]
[jit] Add support for directly calling normal icalls. Enable it for a few perf-sensitive classes like Math.
Vlad Brezae [Sat, 14 Mar 2015 02:31:34 +0000 (19:31 -0700)]
[x86] Handle stack pop done by native stdcalls.
The problem was caused with the introduction of the pushless backend. We have to compensate for the arguments being popped by native stdcall callees, to keep param_area from shrinking. Fixes #27597
Zoltan Varga [Mon, 16 Mar 2015 21:49:01 +0000 (17:49 -0400)]
[aot] Enable direct calls to icalls in aot mode, disable them when the 'direct-calls' aot option is used.
Zoltan Varga [Mon, 16 Mar 2015 21:24:40 +0000 (17:24 -0400)]
[aot] Remove obsolete 'iphone-abi' option.
Zoltan Varga [Mon, 16 Mar 2015 20:23:00 +0000 (16:23 -0400)]
[io-layer] Avoid the usage of atexit (), clean up handles normally.
Marek Safar [Mon, 16 Mar 2015 19:09:19 +0000 (20:09 +0100)]
[system] Update wrong test
João Matos [Mon, 16 Mar 2015 14:57:38 +0000 (14:57 +0000)]
[mini] Fixed the build.
Missed this one on https://github.com/mono/mono/commit/
86155e72da0aa0cc1e546dd2dd5acee0db398c38.
João Matos [Mon, 16 Mar 2015 13:54:43 +0000 (13:54 +0000)]
[runtime] Fixed thread async suspend on Windows.
Move the ResumeThread () calls out of the assert and check for 0 (which means that the thread was resumed) instead of using the Mach-specific KERN_SUCCESS on Windows.
Fixes the Windows/MSVC build.
Related to https://github.com/mono/mono/commit/
296347f.
João Matos [Mon, 16 Mar 2015 13:53:01 +0000 (13:53 +0000)]
[runtime] Added missing function `mono_threads_core_interrupt` on Windows.
João Matos [Mon, 16 Mar 2015 13:50:38 +0000 (13:50 +0000)]
[msvc] Renamed ResumeThread since it conflicts with a Windows function.
Marek Safar [Mon, 16 Mar 2015 10:01:37 +0000 (11:01 +0100)]
[corlib] Attribute from reference sources. Fixes #27982 and similar
Zoltan Varga [Mon, 16 Mar 2015 05:12:36 +0000 (01:12 -0400)]
[aot] Bump aot file format version.
Zoltan Varga [Mon, 16 Mar 2015 05:06:48 +0000 (01:06 -0400)]
[aot] Fix mono_aot_method_hash () to avoid depending on the name of the type arguments used to inflate classes.
Zoltan Varga [Mon, 16 Mar 2015 03:04:31 +0000 (23:04 -0400)]
Fix the cross compiler build.
Zoltan Varga [Mon, 16 Mar 2015 02:46:54 +0000 (22:46 -0400)]
Miguel de Icaza [Sun, 15 Mar 2015 14:54:26 +0000 (10:54 -0400)]
Merge pull request #1617 from keneanung/OdbcCommandExceptionOnNoData
Add NoData as valid return state for Statements with params
Miguel de Icaza [Sun, 15 Mar 2015 14:52:07 +0000 (10:52 -0400)]
Merge pull request #1627 from mono/tooltask-fixes
[Microsoft.Build.Utilities] Make properties in ToolTask available in 4.0 xbuild
João Matos [Sun, 15 Mar 2015 09:16:45 +0000 (09:16 +0000)]
Merge pull request #1628 from akoeplinger/resxresourcereader-order
[WinForms] Make ResXResourceReader enumerator return values in same order as resx
Zoltan Varga [Sun, 15 Mar 2015 07:08:45 +0000 (03:08 -0400)]
[jit] Add support for char/boolean to mini_type_get_underlying_type ().
Zoltan Varga [Sun, 15 Mar 2015 06:38:55 +0000 (02:38 -0400)]
[aot] Rename the find_extra_method... functions to find_aot_method...
Zoltan Varga [Sun, 15 Mar 2015 06:17:40 +0000 (02:17 -0400)]
[jit] Fix the detection of whenever we are compiling a gsharedvt method in the presence of partial shared methods.
Zoltan Varga [Sun, 15 Mar 2015 02:08:03 +0000 (22:08 -0400)]
[runtime] Remove ldscript support, its no longer needed with explicit visibility declarations.
Alexander Köplinger [Sun, 15 Mar 2015 01:19:48 +0000 (02:19 +0100)]
[WinForms] Make ResXResourceReader enumerator return values in same order as resx
This fixes an issue when building dotnet/corefx and all the SR.cs files are modified
because Mono used a HashTable internally in ResXResourceReader and it returned the
elements in a different order than MS.NET.
Even though this isn't explicitly mentioned in the docs, the MS.NET implementation returns
the elements in the same order as they appear in the resx and we should do the same.
Zoltan Varga [Sat, 14 Mar 2015 20:16:46 +0000 (16:16 -0400)]
[jit] Set the names of the gparams used during generic sharing so it includes the type they are constrained to.
Zoltan Varga [Sat, 14 Mar 2015 19:12:49 +0000 (15:12 -0400)]
Fix the build.
Alexander Köplinger [Sat, 14 Mar 2015 18:10:06 +0000 (19:10 +0100)]
[Microsoft.Build.Utilities] Make properties in ToolTask available in 4.0 xbuild
The properties were introduced with MSBuild 4.0 (e.g. https://msdn.microsoft.com/en-us/library/microsoft.build.utilities.tooltask.logstandarderroraserror(v=vs.100).aspx) and shouldn't be inside a XBUILD_12 ifdef.
Zoltan Varga [Sat, 14 Mar 2015 06:17:57 +0000 (02:17 -0400)]
Fix the aot compiler.
Rodrigo Kumpera [Fri, 13 Mar 2015 19:35:47 +0000 (12:35 -0700)]
[threading] Fix signal registration on posix.
Rolf Bjarne Kvinge [Fri, 13 Mar 2015 17:01:45 +0000 (18:01 +0100)]
Fix spelling.
João Matos [Fri, 13 Mar 2015 17:14:40 +0000 (17:14 +0000)]
[aot] Wrap the commands we pass to Windows's system() in double quotes.
We need an extra set of quotes around the whole command to properly handle commands
with spaces since internally the command is called through "cmd /c.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=27899.
João Matos [Fri, 13 Mar 2015 17:10:54 +0000 (17:10 +0000)]
[aot] Escape the command executables with quotes to deal properly with spaces in paths.
João Matos [Fri, 13 Mar 2015 17:07:37 +0000 (17:07 +0000)]
[aot] Ensure the LLVM tools path ends with a directory separator appropriate to the system.
Marek Safar [Fri, 13 Mar 2015 16:39:10 +0000 (17:39 +0100)]
[system] Make httplistener to accept case insensitive protocols. Fixes #26858
Rolf Bjarne Kvinge [Fri, 13 Mar 2015 15:43:55 +0000 (16:43 +0100)]
[mono-api-html] Render generic parameter constraints.
Makes changed constraints show up in diffs.
Marcos Henrich [Fri, 13 Mar 2015 12:39:26 +0000 (12:39 +0000)]
[System] Replaced static constructor with field initialisation.
João Matos [Fri, 13 Mar 2015 09:42:22 +0000 (09:42 +0000)]
Merge pull request #1606 from alexanderkyte/debug-finalizers
[Runtime] Added logging around finalizers
João Matos [Fri, 13 Mar 2015 09:39:48 +0000 (09:39 +0000)]
Merge pull request #1618 from alexanderkyte/remoting-fix
[Runtime] Fixed remoting bug where too specific a type reflected.
Zoltan Varga [Fri, 13 Mar 2015 06:41:34 +0000 (02:41 -0400)]
[jit] Use mini_get_underlying_type () in a few places in the amd64 backend.
Zoltan Varga [Fri, 13 Mar 2015 05:27:54 +0000 (01:27 -0400)]
[jit] Finish support for valuetype based sharing in JIT mode, not enabled yet.
Zoltan Varga [Thu, 12 Mar 2015 23:29:45 +0000 (19:29 -0400)]
[jit] Add a new MONO_RGCTX_INFO_ELEMENT_KLASS info type and use it instead of MONO_RGCTX_INFO_KLASS on klass->element_class, the latter doesn't work with valuetype sharing.
Rodrigo Kumpera [Mon, 2 Feb 2015 16:04:37 +0000 (11:04 -0500)]
[metadata] Handle denormalized value type encoding of builtins.
All primitive types have a short encoding format that avoid using
a typeref token.
It's possible to encode them in another, longer, form with ELEMENT_TYPE_VALUETYPE + a typeref token.
Up to now, this was never seen in the wild so we never supported it.
This patch allows long form encoding of primitives.
Rodrigo Kumpera [Mon, 2 Feb 2015 16:04:37 +0000 (11:04 -0500)]
[threading] Fix a race condition between managed suspend/abort and GC STW.
STW and managed suspend share a lock to ensure there is only one active suspend initiator.
This originally caused a problem in the managed suspend path as it could be async suspended while it was
in the middle of the suspend protocol (check if top of stack is managed, install abort handlers, etc).
This was worked around by putting that inside a suspend critical section. The resulting code was horrible
as suspend boundaries became unstructured (yeah, pretty stupid idea on my end). Not only that but it had
a race condition.
If a thread doing managed suspend raced with a STW and lost, it would block on the global suspend lock to
finish. That thread would be blocked inside a critical section - the single thing you must not do inside one.
This could be reproduced by stressing mono/tests/sgen-new-threads-dont-join-stw.
The solution is to execute the managed suspend sequence in the same fashion as of a STW. IOW, take locks,
suspend, do stuff, maybe resume and drop locks.
The critical part is the "do stuff" one, which is different for abort and suspend, but everything else
is the same. So we wrap that into a callback and put the common parts in mono-threads. This gives
us structured locking and suspend boundaries.
This won't cause a GC to take longer to init as the critical section would block the STW from progressing
anyways.
Mark Probst [Thu, 12 Mar 2015 22:40:17 +0000 (15:40 -0700)]
[runtime] Fix warnings.
Zoltan Varga [Thu, 12 Mar 2015 22:19:40 +0000 (18:19 -0400)]
[jit] Throw the proper exception on integer overflow from div/rem if MONO_ARCH_NEED_DIV_CHECK is defined.
Zoltan Varga [Thu, 12 Mar 2015 20:54:49 +0000 (16:54 -0400)]
[jit] Add another test for gsharedvt+vtype byref argument passing.
Miguel de Icaza [Thu, 12 Mar 2015 20:18:45 +0000 (16:18 -0400)]
Add documentation information about IRI parsing
Marcos Henrich [Thu, 12 Mar 2015 18:08:39 +0000 (18:08 +0000)]
[corlib] Added exception to fail tests on non aborted system calls.
While running tests if a socket is closed while blocking system calls are pending an exception is thrown.
A socket should not be closed when a blocking system call is pending.
The purpose of the exception is to inform us when AbortRegisteredThreads is not working.
Marcos Henrich [Thu, 12 Mar 2015 17:48:05 +0000 (17:48 +0000)]
[runtime] Check that thread_suspend returns KERN_SUCCESS.
mono_threads_core_abort_syscall no longer calls thread_abort_safely in case thread_suspend returns errors.
Marcos Henrich [Thu, 12 Mar 2015 17:43:46 +0000 (17:43 +0000)]
[runtime] Updated Socket_to_SOCKET to use SafeSocketHandle.
The type of field of Socket.socket was changed from IntPtr to SafeSocketHandle.
Rodrigo Kumpera [Mon, 2 Feb 2015 16:04:37 +0000 (11:04 -0500)]
[aot] Better report errors when loading methods.
Rodrigo Kumpera [Mon, 2 Feb 2015 16:04:37 +0000 (11:04 -0500)]
[mono-error] When fetching the error message for native usage, include assembly, type and member fields after the message.
João Matos [Thu, 12 Mar 2015 16:38:17 +0000 (16:38 +0000)]
[eglib] Fixed file being created without read/write permission on Windows.
This bug manifested itself as files being written to disk with 0 bytes.
Fixes the AOT compiler on Windows not working properly.
https://bugzilla.xamarin.com/show_bug.cgi?id=27900
Marek Safar [Thu, 12 Mar 2015 16:23:32 +0000 (17:23 +0100)]
[mcs] Don't crash after reporting missing type in type arguments of generic method run in probing mode. Fixes #27737
Marcos Henrich [Thu, 12 Mar 2015 13:11:36 +0000 (13:11 +0000)]
[corlib] TimeZoneInfo.TryGetTransitionOffset overflow checks.
Marek Safar [Thu, 12 Mar 2015 12:24:14 +0000 (13:24 +0100)]
[system] Fixes mobile build
Marcos Henrich [Thu, 12 Mar 2015 08:57:07 +0000 (08:57 +0000)]
[corlib] Fixed DateTime overflow check in TimeZoneInfo.
Zoltan Varga [Thu, 12 Mar 2015 08:54:03 +0000 (04:54 -0400)]
Revert "[runtime] Fix mono_class_instance_size () to work with dynamically created types."
This reverts commit
501f0aa6459d1bdbc65680b30c89ba4c7b79fe55.
Revert this as it breaks some corlib tests.
Zoltan Varga [Thu, 12 Mar 2015 01:39:17 +0000 (21:39 -0400)]
[runtime] Fix mono_class_instance_size () to work with dynamically created types.
Mark Probst [Wed, 11 Mar 2015 23:01:39 +0000 (16:01 -0700)]
[runtime] Remove unused `ves_icall_type_is_subtype_of()`.
Zoltan Varga [Wed, 11 Mar 2015 22:47:38 +0000 (18:47 -0400)]
[jit] Enable the gsharedvt testcase which now works.
Mark Probst [Wed, 11 Mar 2015 20:37:31 +0000 (13:37 -0700)]
Merge pull request #1621 from schani/fix-warnings
[runtime] Fix warnings.
Mark Probst [Sun, 8 Mar 2015 00:52:22 +0000 (16:52 -0800)]
[runtime] Fix warnings.
Rodrigo Kumpera [Mon, 2 Feb 2015 16:04:37 +0000 (11:04 -0500)]
[io-layer] When checking if a file is a program check both read and execute permissions. Fixes #27565
The original behavior of only checking for read permission broke sudo on OSX which only have the execute permission set.
Rodrigo Kumpera [Mon, 2 Feb 2015 16:04:37 +0000 (11:04 -0500)]
[threading] Split unwind state into sync and async.
Having a single unwind state means writes to it must be synchronized between sync and async suspend. We can't
have the state be broken as it could lead to bad unwinding or GC marking.
The original solution was to have an additional state in the self suspend path that signals it's writing to the
thread state and thus any async suspend must give up and let it finish. This ended up been overly complicated
as this requires two additional states instead.
By having a pair of unwind states both can write concurrently without the fear of clashing. This makes fetching the state
a little bit trickier but worth the trouble.
The simplified design has a much smaller state space, which is easier to reason about.
Rodrigo Kumpera [Mon, 2 Feb 2015 16:04:37 +0000 (11:04 -0500)]
[threading] Change request async suspend to return 3 states instead of one to account for async racing to the middle of a self suspend.
When begin async suspend lands in STATE_SUSPEND_IN_PROGRESS, the initiator don't need to perform an async suspend, it just needs to wait.
If a self suspend is promoted to an async suspend, it must be added to the pending ops set. This ensure that it will be waited otherwise
the suspend initiator might witness an unfinished self suspend and assert when fetching the thread state.
The alternative would be to change finish async suspend to account for the possibility of witnessing STATE_SUSPEND_PROMOTED_TO_ASYNC.
Solving this way requires less async suspends and doesn't increase the valid state space.
Rodrigo Kumpera [Mon, 2 Feb 2015 16:04:37 +0000 (11:04 -0500)]
[threading] Rework suspend code to be based on a state machine and eliminate known races in the process.
The new suspend machinery is based around a single word state machine that is manipulated using CAS.
This solves the first set of problems with the current approach, the lack of atomicity and the impossibility of
doing race free manipulation of protected state. This is specially acute when doing a self suspend.
Suspend data must be atomically protected while we prepare to self suspend so a resume request won't race with the current
thread putting itself to sleep. This is a classical problem that calls for a mutex/conditional variable pair. Except that all
locks in the suspend path must be suspend safe. Wait, WHAT?
A Suspend Safe Lock is a primitive that is obstruction free in the face of the kernel suspending a thread either performing a
lock operation or waiting on a lock to become available. This, unfortunately, is not possible with pthread_mutex on OSX. The
only safe primitive are kernel semaphores, for which doesn't exist conditional variables for.
So back to locking and self-suspend. We need a lock because the existing thread state is not atomic but we can't use a
mutex/condvar pair so we're left with racy code. Yay! The fix is using CAS over a single variable.
Another change was the hardening of the suspend/resume code on posix targets. First we replace a semaphore wait with
sigsuspend for async suspend. This is needed since sem_wait is not async-signal safe (yet sem_post is). Second, we now
respect interruption requests by having a pair of suspend signals, one with SA_RESTART and one without.
Onto the design of the suspension system, a few concepts that are useful looking around.
* Self suspend: This is when the thread decides to suspend itself.
* Async suspend: This is when a thread decides to suspend another thread.
* Suspend Initiator: This the name of a thread that decided to suspend one or more other threads. This is important
since all suspending threads will notify it when they are suspended. There can be only one initiator in the system
at a given time.
* Suspension count: Number of resume calls before a thread is back to running state.
There are 7 states that can happen while a thread is runnable:
* Running: just running...
* (Async|Self) Suspended: Suspended, the difference comes into play when resuming.
* (Async|Self) Suspend Requested: Suspend requested, but not completed. See more below for the discussion on why the request state is needed.
* Suspend In Progress: Self suspend started saving its state thus async suspend should not modify it.
* Suspend Promoted to Async: Async tried to suspend a thread in the middle of a self suspend, it wants to be notified.
Now to the suspension protocol and how it happens on a high level view.
Suspension starts with a suspend request, which bumps the suspend count by one. This suspend request can be fulfilled either
by an async or self suspend action. This is confusing as there's only one initiator but any number of threads can be self suspending.
Async suspend then performs a platform specific action such as posix signals that forces a transition on the target. In the case
of self suspend, it depends on the thread polling its state and trigger the transition.
This works fine except that the suspend state is one huge struct with tons of fields. To control concurrent access to it we use a
single initiator in the case of async suspend and we put the thread in a transitional "saving my state" in the case of self suspend.
In the case of async suspend, the initiator must wait for all 1+ threads to notify back that they have suspended. Only after that
it's possible to know if the async suspend request actually worked or not (we might have hit a dying thread).
Together with this, there's an optional implementation of STW in sgen that can use this new machinery. To enable it set the
MONO_ENABLE_UNIFIED_SUSPEND env var for now while it gets more testing.
Marek Safar [Wed, 11 Mar 2015 16:15:37 +0000 (17:15 +0100)]
[system] Fixes InvalidCastException in OpenReadAsyncCallback
Marcos Henrich [Wed, 11 Mar 2015 16:02:27 +0000 (16:02 +0000)]
[runtime] Replaced unsafe thread_abort calls.
Marek Safar [Wed, 11 Mar 2015 15:41:09 +0000 (16:41 +0100)]
[corlib] TypeDelegator from reference sources
Jo Shields [Wed, 11 Mar 2015 15:23:27 +0000 (15:23 +0000)]
[msvc] Change target MSVC release from v120 to v120_xp
They're basically the same thing, but v120 has DX10+ capabilities and v120_xp
is DX9 only. Since we're not building against DirectX, the difference is
purely academic - but changing the value to v120_xp means MSVC binaries run
on XP+, not Vista+
Marek Safar [Wed, 11 Mar 2015 14:52:16 +0000 (15:52 +0100)]
[runtime] Make read_enum_value endian aware
Marek Safar [Wed, 11 Mar 2015 12:32:45 +0000 (13:32 +0100)]
[Microsoft.Build.Engine] Fix invocation flags not to contain both CreateInstance and Invoke
Marek Safar [Wed, 11 Mar 2015 12:24:51 +0000 (13:24 +0100)]
[System.ComponentModel.DataAnnotations] Update test as validation attributes needs to be public
Jo Shields [Wed, 11 Mar 2015 12:06:16 +0000 (12:06 +0000)]
[msvc] Refresh .def files
Jo Shields [Wed, 11 Mar 2015 10:13:44 +0000 (10:13 +0000)]
Bump winconfig.h to 4.1.0
Jo Shields [Wed, 11 Mar 2015 10:00:11 +0000 (10:00 +0000)]
Use MSVC2013 for *all* mono.sln dependants
Jo Shields [Wed, 11 Mar 2015 09:48:15 +0000 (09:48 +0000)]
Add _WIN32_WINNT to Release definition, not just Debug
Marek Safar [Wed, 11 Mar 2015 09:40:06 +0000 (10:40 +0100)]
[corlib] Fixes build, add missing file
Marek Safar [Wed, 11 Mar 2015 09:08:07 +0000 (10:08 +0100)]
[corlib] Type from reference sources