platform/upstream/coreclr.git
8 years agoFix for run-only pr1 tests.
Bryan Arant [Wed, 28 Oct 2015 08:39:05 +0000 (01:39 -0700)]
Fix for run-only pr1 tests.

8 years agoMerge pull request #1876 from stephentoub/local_realloc
Jan Vorlicek [Wed, 28 Oct 2015 00:59:26 +0000 (17:59 -0700)]
Merge pull request #1876 from stephentoub/local_realloc

Implement LocalReAlloc in PAL

8 years agoMerge pull request #1878 from janvorli/fix-ex-try
Jan Vorlicek [Tue, 27 Oct 2015 23:10:09 +0000 (16:10 -0700)]
Merge pull request #1878 from janvorli/fix-ex-try

Add missing exception holder to EX_TRY

8 years agoAdd missing exception holder to EX_TRY
Jan Vorlicek [Tue, 27 Oct 2015 17:30:58 +0000 (10:30 -0700)]
Add missing exception holder to EX_TRY

When the exception handling was changed recently, the exception holder
was added only to PAL_TRY / PAL_EXCEPT macros. But it needs to be
in the EX_TRY as well, otherwise first pass of exception handling
would incorrectly consider some exceptions unhandled.

8 years agoImplement CoTaskMemRealloc in PAL
stephentoub [Tue, 27 Oct 2015 16:48:10 +0000 (12:48 -0400)]
Implement CoTaskMemRealloc in PAL

Also implement CoTaskMemRealloc in PAL, as it's exposed via the public Marshal.CoTaskMemRealloc.

8 years agoImplement LocalReAlloc in PAL
stephentoub [Tue, 27 Oct 2015 03:03:04 +0000 (23:03 -0400)]
Implement LocalReAlloc in PAL

Marshal.ReAllocHGlobal is failing because it's expecting to find a LocalReAlloc implementation in libcoreclr's PAL.  This commit adds one.

8 years agoMerge pull request #1868 from JohnChen0/crossgen-linux
John Chen [Tue, 27 Oct 2015 15:51:37 +0000 (08:51 -0700)]
Merge pull request #1868 from JohnChen0/crossgen-linux

Fix a CrossGen assert on Linux

8 years agoMerge pull request #1862 from LLITCHEV/Issue1831
Lubomir Litchev [Mon, 26 Oct 2015 17:15:18 +0000 (10:15 -0700)]
Merge pull request #1862 from LLITCHEV/Issue1831

Fixed the bug described in GH issue 1831.

8 years agoFix a CrossGen assert on Linux
John Chen [Mon, 26 Oct 2015 15:48:06 +0000 (08:48 -0700)]
Fix a CrossGen assert on Linux

Resource string loading during CrossGen doesn't work on Linux.
Disable it for now. In many cases the loaded string isn't even used.

8 years agoMerge pull request #1229 from benpye/fix-complus-case-docs
Matt Ellis [Mon, 26 Oct 2015 04:31:58 +0000 (21:31 -0700)]
Merge pull request #1229 from benpye/fix-complus-case-docs

Fix casing of COMPlus_ in documentation

8 years agoMerge pull request #1867 from dotnet-bot/from-tfs
Jan Kotas [Mon, 26 Oct 2015 03:30:38 +0000 (20:30 -0700)]
Merge pull request #1867 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoFix for a build break. The gtNewOperNode is not a member of Lowering, but of Compiler...
Lubomir Litchev [Mon, 26 Oct 2015 01:19:27 +0000 (18:19 -0700)]
Fix for a build break. The gtNewOperNode is not a member of Lowering, but of Compiler. An extra comp-> dereferencing is needed. Talked to Matt Ellis and committing directly to avoid nightly broken build.

[tfs-changeset: 1541493]

8 years agoMerge pull request #1866 from dotnet-bot/from-tfs
Matt Ellis [Mon, 26 Oct 2015 00:29:52 +0000 (17:29 -0700)]
Merge pull request #1866 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #1851 from ellismg/icu-remove-c-plus-plus
Matt Ellis [Mon, 26 Oct 2015 00:29:03 +0000 (17:29 -0700)]
Merge pull request #1851 from ellismg/icu-remove-c-plus-plus

Remove OSX Homebrew ICU dependency

8 years agoFix build break.
Matt Ellis [Sun, 25 Oct 2015 21:00:24 +0000 (14:00 -0700)]
Fix build break.

Wrong local name used in lowerarm64.cpp

[tfs-changeset: 1541475]

8 years agoMerge pull request #1861 from dotnet-bot/from-tfs
Matt Ellis [Sat, 24 Oct 2015 08:27:09 +0000 (01:27 -0700)]
Merge pull request #1861 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoFixed the bug described in GH issue 1831.
Lubomir Litchev [Fri, 23 Oct 2015 18:47:19 +0000 (11:47 -0700)]
Fixed the bug described in GH issue 1831.

When generating unboxing function, if the return value is nullables
returned in 2 registers, creating the temp var to pass to the
helper function is not enough. Also need to make sure the operand type
stack is properly maintained.

8 years agoMerge pull request #1857 from ramarag/testhygiene
Rama krishnan Raghupathy [Sat, 24 Oct 2015 01:59:28 +0000 (18:59 -0700)]
Merge pull request #1857 from ramarag/testhygiene

Ensure each test has its own unique directory

8 years agoTest Cleanup:
Rama Krishnan Raghupathy [Fri, 23 Oct 2015 21:39:25 +0000 (14:39 -0700)]
Test Cleanup:

1. Ensures each test has its own unique directory
2. Use Project Reference to refer native CMakeLists.txt
3. Avoids copying the facades to the test  build

8 years agoMerge pull request #1818 from gkhanna79/Fix1774
Gaurav Khanna [Fri, 23 Oct 2015 22:52:07 +0000 (15:52 -0700)]
Merge pull request #1818 from gkhanna79/Fix1774

Fix Unix CoreConsole to correctly determine the path to the entrypoint executable

8 years agoCleanup CMakeLists.txt
Matt Ellis [Fri, 23 Oct 2015 21:24:13 +0000 (14:24 -0700)]
Cleanup CMakeLists.txt

There were a few problems that needed to be addressed:

 - Our detection logic around testing if ICU supported a feature was
   still checking for C++ stuff instead of the coresponding C
   code (which we ended up using).

 - There was some cleanup we could do now that the OSX and other Unix
   builds were split apart

8 years agoFix spelling issues
Matt Ellis [Fri, 23 Oct 2015 21:23:55 +0000 (14:23 -0700)]
Fix spelling issues

8 years agoAddress a messaging nit.
Gaurav Khanna [Fri, 23 Oct 2015 21:13:59 +0000 (14:13 -0700)]
Address a messaging nit.

8 years agoFix issue 1774
Gaurav Khanna [Mon, 19 Oct 2015 05:18:43 +0000 (22:18 -0700)]
Fix issue 1774

8 years agoMerge pull request #1858 from caslan/addcriticalsectionexports
Cagri Aslan [Fri, 23 Oct 2015 16:47:35 +0000 (09:47 -0700)]
Merge pull request #1858 from caslan/addcriticalsectionexports

Add EnterCriticalSection / LeaveCriticalSection exports to libcoreclr

8 years agoUse correct close function for UNumberFormat
Matt Ellis [Fri, 23 Oct 2015 07:55:23 +0000 (00:55 -0700)]
Use correct close function for UNumberFormat

8 years agoAdd EnterCriticalSection / LeaveCriticalSection exports to libcoreclr
Cagri [Fri, 23 Oct 2015 06:59:38 +0000 (23:59 -0700)]
Add EnterCriticalSection / LeaveCriticalSection exports to libcoreclr

8 years agoMerge pull request #1834 from Priya91/fixnull
Lakshmi Priya [Fri, 23 Oct 2015 03:33:47 +0000 (20:33 -0700)]
Merge pull request #1834 from Priya91/fixnull

Add null checks to StackString usages.

8 years agoMerge pull request #1854 from janvorli/fix-comment
Aditya Mandaleeka [Fri, 23 Oct 2015 02:17:17 +0000 (19:17 -0700)]
Merge pull request #1854 from janvorli/fix-comment

Fix obsolete comment

8 years agoAdd null checks to StackString usages.
Lakshmi Priya Sekar [Thu, 22 Oct 2015 03:37:06 +0000 (20:37 -0700)]
Add null checks to StackString usages.

8 years agoMerge pull request #1832 from bryanar/enable_crossgen_tests
Bryan P. Arant [Fri, 23 Oct 2015 01:15:39 +0000 (18:15 -0700)]
Merge pull request #1832 from bryanar/enable_crossgen_tests

- Changes required to enable crossgen on the tests.
- Added priority level parameter to buildtest.cmd
- Added crossgen parameter to buildtest.cmd
- Updated testing documentation to reflect prioritylevel testing, and crossgen testing.

8 years agoFix obsolete comment
Jan Vorlicek [Fri, 23 Oct 2015 01:15:35 +0000 (18:15 -0700)]
Fix obsolete comment

8 years agoUse std::vector instead of calloc
Matt Ellis [Fri, 23 Oct 2015 00:46:54 +0000 (17:46 -0700)]
Use std::vector instead of calloc

This matches what we do in other places in calendarData.cpp, the RAII
pattern will make it easier to not leak memory.

8 years agoMerge pull request #1850 from dotnet-bot/from-tfs
Matt Ellis [Fri, 23 Oct 2015 00:42:48 +0000 (17:42 -0700)]
Merge pull request #1850 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #1849 from janvorli/fix-fp-registers-offset
Jan Vorlicek [Thu, 22 Oct 2015 23:52:57 +0000 (16:52 -0700)]
Merge pull request #1849 from janvorli/fix-fp-registers-offset

Fix floatingpoint register offsets in TransitionBlock for Unix

8 years ago[adityam] Fix break in DllImport code for Desktop CLR.
Rama Krishnan Raghupathy [Thu, 22 Oct 2015 23:19:25 +0000 (16:19 -0700)]
[adityam] Fix break in DllImport code for Desktop CLR.

[tfs-changeset: 1540922]

8 years agoLink against libicucore on OSX
Matt Ellis [Wed, 21 Oct 2015 20:48:37 +0000 (13:48 -0700)]
Link against libicucore on OSX

OSX ships with a copy of ICU (their globalization APIs are built on top
of it).  Since we only use stable c based APIs, we can link against it
using the methods described in using a System ICU in the ICU User's
Guide (basically we disable function renaming, don't use C++ and only
use stable APIs).

The ICU headers are not part of the SDK, so we continue to need ICU
installed via Homebrew as a build time dependency.

Fixes dotnet/corefx#3849

8 years agoMerge pull request #1830 from erozenfeld/RotateBits
Eugene Rozenfeld [Thu, 22 Oct 2015 22:37:41 +0000 (15:37 -0700)]
Merge pull request #1830 from erozenfeld/RotateBits

     Generate efficient code for rotation patterns.

8 years agoMerge pull request #1848 from dotnet-bot/from-tfs
Matt Ellis [Thu, 22 Oct 2015 22:35:03 +0000 (15:35 -0700)]
Merge pull request #1848 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoChanges required to enable crossgen on the tests.
Bryan Arant [Thu, 22 Oct 2015 03:19:51 +0000 (20:19 -0700)]
Changes required to enable crossgen on the tests.

8 years agoadding more context
Rama Krishnan Raghupathy [Thu, 22 Oct 2015 22:07:33 +0000 (15:07 -0700)]
adding more context

[tfs-changeset: 1540889]

8 years agoAddressing Desktop Build break due to addition of a new non windows event in Clretwal...
Rama Krishnan Raghupathy [Thu, 22 Oct 2015 21:10:15 +0000 (14:10 -0700)]
Addressing Desktop Build break due to addition of a new non windows event in Clretwall.man

[tfs-changeset: 1540865]

8 years agoMerge pull request #1816 from stephentoub/string_indexof_perf
Stephen Toub [Thu, 22 Oct 2015 20:47:51 +0000 (16:47 -0400)]
Merge pull request #1816 from stephentoub/string_indexof_perf

Improve string.{Last}IndexOf perf on Unix for Ordinal/OrdinalIgnoreCase

8 years agoMerge pull request #1840 from caslan/customnotificationfix
Cagri Aslan [Thu, 22 Oct 2015 20:20:23 +0000 (13:20 -0700)]
Merge pull request #1840 from caslan/customnotificationfix

Fixed an issue with getting event size not working for custom notific…

8 years agoUpdate IndexOfOrdinalIgnoreCase to use full code units
stephentoub [Wed, 21 Oct 2015 02:32:14 +0000 (22:32 -0400)]
Update IndexOfOrdinalIgnoreCase to use full code units

8 years agoImprove string.{Last}IndexOf perf on Unix for Ordinal/OrdinalIgnoreCase
stephentoub [Tue, 20 Oct 2015 19:34:38 +0000 (15:34 -0400)]
Improve string.{Last}IndexOf perf on Unix for Ordinal/OrdinalIgnoreCase

Our current implementation of IndexOfOrdinal for strings on Unix uses Substring to get the piece of the source string we care about; this results in an unnecessary allocation / string copy.  When using OrdinalIgnoreCase, we also convert both the source and search strings to upper-case using ToUpperInvariant, resulting in more allocations.  And our LastIndexOfOrdinal implementation delegates to IndexOfOrdinal repeatedly, incurring such allocations potentially multiple times.

This change reimplements Ordinal searching in managed code to not use Substring, and it implements OrdinalIgnoreCase searching via new functions exposed in the native globalization shim, so as to use ICU without having to make managed/native transitions for each character.

With the changes, {Last}IndexOf with Ordinal/OrdinalIgnoreCase are now allocateion-free (as you'd expect), and throughput when startIndex/count and/or OrdinalIgnoreCase are used is increased significantly, on my machine anywhere from 20% to 3x, depending on the inputs.

8 years agoMerge pull request #1833 from kouvel/Inline2
Koundinya Veluri [Thu, 22 Oct 2015 18:03:04 +0000 (11:03 -0700)]
Merge pull request #1833 from kouvel/Inline2

Move some functions to allow them to be inlined with clang

8 years agoFix floatingpoint register offsets in TransitionBlock for Unix
Jan Vorlicek [Thu, 22 Oct 2015 17:55:02 +0000 (10:55 -0700)]
Fix floatingpoint register offsets in TransitionBlock for Unix

The conversion between floating point register index and offset was incorrectly
multiplying the the index by 8 instead of 16. The xmm registers in the
TransitionBlock on Unix take 16 bytes each, not 8.

8 years agoMerge pull request #1839 from mmitche/fix-linux-coreclr-tests
Matt Mitchell [Thu, 22 Oct 2015 15:45:48 +0000 (08:45 -0700)]
Merge pull request #1839 from mmitche/fix-linux-coreclr-tests

A couple tweaks to coreclr linux tests

8 years agoA couple tweaks to coreclr linux tests
Matt Mitchell [Thu, 22 Oct 2015 15:40:34 +0000 (08:40 -0700)]
A couple tweaks to coreclr linux tests

8 years agoFixed an issue with getting event size not working for custom notification event
Cagri Aslan [Sat, 17 Oct 2015 00:43:39 +0000 (17:43 -0700)]
Fixed an issue with getting event size not working for custom notification event

8 years agoMerge pull request #1820 from richlander/rich-cleanup
Matt Ellis [Thu, 22 Oct 2015 05:43:32 +0000 (22:43 -0700)]
Merge pull request #1820 from richlander/rich-cleanup

Update license attribution

8 years agoMove some functions to allow them to be inlined with clang
Koundinya Veluri [Tue, 20 Oct 2015 17:37:01 +0000 (10:37 -0700)]
Move some functions to allow them to be inlined with clang

For the moment, GetThread, _rotl/_rotr, Interlocked..., and similar functions were moved to allow inlining them with clang.

The plan is to eventually enable link-time optimization (LTO) to cover inlining across translation units.

Renamed some code files in PAL tests to compile as C++ to use the C++ inline semantics.

8 years agoMerge pull request #1827 from brianrob/tracinginit
Brian Robbins [Thu, 22 Oct 2015 03:03:38 +0000 (20:03 -0700)]
Merge pull request #1827 from brianrob/tracinginit

Initialize LTTng tracepoint providers automatically

8 years agoMerge pull request #1751 from ramarag/eventsource
Rama krishnan Raghupathy [Thu, 22 Oct 2015 03:00:57 +0000 (20:00 -0700)]
Merge pull request #1751 from ramarag/eventsource

Enable EventSource Logging in Linux via Lttng

8 years ago Generate efficient code for rotation patterns.
Eugene Rozenfeld [Tue, 13 Oct 2015 01:36:25 +0000 (18:36 -0700)]
 Generate efficient code for rotation patterns.

     This change adds code to recognize rotation idioms and generate efficient instructions for them.

     Two new operators are added: GT_ROL and GT_ROR.

     The patterns recognized:
     (x << c1) | (x >>> c2) => x rol c1
     (x >>> c1) | (x << c2) => x ror c2

     where c1 and c2  are constant and c1 + c2 == bitsize(x)

     (x << y) | (x >>> (N - y)) => x rol y
     (x >>> y) | (x << (N - y)) => x ror y

     where N == bitsize(x)

     (x << y & M1) | (x >>> (N - y) & M2) => x rol y
     (x >>> y & M1) | (x << (N - y) & M2) => x ror y

     where N == bitsize(x)
     M1 & (N - 1) == N - 1
     M2 & (N - 1) == N - 1

     For a simple benchmark with 4 rotation patterns in a tight loop
     time goes from 7.324 to 2.600 (2.8 speedup).

     Rotations found and optimized in mscorlib:
     System.Security.Cryptography.SHA256Managed::RotateRight
     System.Security.Cryptography.SHA384Managed::RotateRight
     System.Security.Cryptography.SHA512Managed::RotateRight
     System.Security.Cryptography.RIPEMD160Managed:MDTransform (320 instances!)
     System.Diagnostics.Tracing.EventSource.Sha1ForNonSecretPurposes::Rol1
     System.Diagnostics.Tracing.EventSource.Sha1ForNonSecretPurposes::Rol5
     System.Diagnostics.Tracing.EventSource.Sha1ForNonSecretPurposes::Rol30
     System.Diagnostics.Tracing.EventSource.Sha1ForNonSecretPurposes::Drain
     (9 instances of Sha1ForNonSecretPurposes::Rol* inlined)

     Closes #1619.

8 years agoMerge pull request #1828 from ellismg/fix-directory-casing
Matt Ellis [Thu, 22 Oct 2015 01:46:58 +0000 (18:46 -0700)]
Merge pull request #1828 from ellismg/fix-directory-casing

Fix directory casing of `regressions' in test/src

8 years agoEnable EventSource Logging in Linux via Lttng
Rama [Mon, 12 Oct 2015 23:09:40 +0000 (16:09 -0700)]
Enable EventSource Logging in Linux via Lttng

8 years agoFix directory casing of `regressions' in test/src
Matt Ellis [Thu, 22 Oct 2015 00:42:33 +0000 (17:42 -0700)]
Fix directory casing of `regressions' in test/src

We had both tests/src/Regressions and tests/src/regressions which causes
problems because the on disc casing of files now differs based on if you
have a case insensitive file system or not.

This was confusing the the mirror a great deal because the casing of the
files is unified on the TFS side but the mirror was seeing these files
as renames.

8 years agoInitialize LTTng tracepoint provider as part of loading libcoreclr.so.
Brian Robbins [Wed, 21 Oct 2015 23:34:42 +0000 (16:34 -0700)]
Initialize LTTng tracepoint provider as part of loading libcoreclr.so.

8 years agoMerge pull request #1809 from mmitche/add-x86-builds
Matt Mitchell [Wed, 21 Oct 2015 23:26:36 +0000 (16:26 -0700)]
Merge pull request #1809 from mmitche/add-x86-builds

Add x86 builds to CI (most off by default)

8 years agoAdd x86 builds to CI (most off by default)
Matt Mitchell [Tue, 20 Oct 2015 18:20:45 +0000 (11:20 -0700)]
Add x86 builds to CI (most off by default)

* Builds are available through trigger phrases
* x86 windows_nt on for pushes by default
Additionally:
 * fixes workspace parameter quoting for Linux coreclr tests

8 years agoMerge pull request #1788 from naamunds/UpdateXplatDoc
Nate Amundson [Wed, 21 Oct 2015 22:45:44 +0000 (17:45 -0500)]
Merge pull request #1788 from naamunds/UpdateXplatDoc

Update Linux and OS X build instructions

8 years agoUpdate Linux and OS X build instructions
Nate Amundson [Wed, 21 Oct 2015 22:43:26 +0000 (17:43 -0500)]
Update Linux and OS X build instructions

CoreClr (including mscorlib) and CoreFx can now be built using Mono on
both Linux and OS X; this change updates the instructions to reflect
that.  It also moves the instructions for the alternative option of
building the x-plat bits on Windows to cross-building.md.

This change also adds System.Globalization.Native, which is now
necessary.

At some point the FreeBSD documentation should also be updated to be
consistent with the Linux and OS X instructions; ideally, they should be
combined into one file, as discussed in https://github.com/dotnet/coreclr/issues/1590.

8 years agoMerge pull request #1780 from adityamandaleeka/librarySearchPaths
Aditya Mandaleeka [Wed, 21 Oct 2015 22:26:49 +0000 (15:26 -0700)]
Merge pull request #1780 from adityamandaleeka/librarySearchPaths

Fix DllImport search logic with respect to prefixes/suffixes

8 years agoAdd STANDARD_VM_CONTRACT and remove loop that's no longer needed.
Aditya Mandaleeka [Wed, 21 Oct 2015 20:58:52 +0000 (13:58 -0700)]
Add STANDARD_VM_CONTRACT and remove loop that's no longer needed.

8 years agoHygine cleanups in holders.h
Matt Ellis [Wed, 21 Oct 2015 18:20:48 +0000 (11:20 -0700)]
Hygine cleanups in holders.h

Use "= delete" syntax to make it clear the IcuHolder copy constructor
and assignment opperators are removed.

Remove superfluous "public" modifier on the struct closers used by the
IcuHolders.

8 years agoCleanup include directives
Matt Ellis [Wed, 21 Oct 2015 05:18:29 +0000 (22:18 -0700)]
Cleanup include directives

8 years agoRemove use of icu::Locale C++ type
Matt Ellis [Wed, 21 Oct 2015 02:30:42 +0000 (19:30 -0700)]
Remove use of icu::Locale C++ type

Remove all the uses of the icu::Locale type in favor of just using a
char* which is the raw locale id (which is exactly what all the ICU C
apis use for a locale).

The meat of this change si in locale.cpp to actually handle doing the
conversion from UChar* to char*.  The rest of the places are dealing
with the fallout (GetLocale now has a different signiture and the
.getName() dance is no longer needed as we have a raw locale name all
the time now).

8 years agoMove off Locale instance methods
Matt Ellis [Wed, 21 Oct 2015 01:37:54 +0000 (18:37 -0700)]
Move off Locale instance methods

To prepare for removing icu::Locale in favor of just using the id
directly, remove all the uses of Locale methods except for .getName().
We now use GetLocale to create a Locale but then turn it into a char*
for all the helper methods.

After this change, we can update GetLocale to do locale parsing into a
char buffer and remove all the locale.getName() calls with just `locale'.

8 years agoRemove C++ Locale use in EnumSymbols
Matt Ellis [Tue, 20 Oct 2015 21:50:28 +0000 (14:50 -0700)]
Remove C++ Locale use in EnumSymbols

8 years agoGet Eras using ICU C API instead of C++
Matt Ellis [Tue, 20 Oct 2015 21:29:59 +0000 (14:29 -0700)]
Get Eras using ICU C API instead of C++

Getting the regular eras is straight forward, we can do the thing we do
for other locale data and just ask ICU using a specific
UDateFormatSymbolType.  For abbreviated eras, there's no C API, but we
can try to just read the data from ICU resources and fall back to the
standard width eras if that doesn't work.

8 years agoRemove use of ICU C++ DateFormatSymbols
Matt Ellis [Mon, 19 Oct 2015 20:40:58 +0000 (13:40 -0700)]
Remove use of ICU C++ DateFormatSymbols

8 years agoRemove useage of ICU C++ DecimalFormatSymbols
Matt Ellis [Thu, 15 Oct 2015 23:35:28 +0000 (16:35 -0700)]
Remove useage of ICU C++ DecimalFormatSymbols

8 years agoRemove ICU C++ LocaleDisplayNames
Matt Ellis [Thu, 15 Oct 2015 23:00:35 +0000 (16:00 -0700)]
Remove ICU C++ LocaleDisplayNames

8 years agoRemove use of ICU C++ NumberFormat class
Matt Ellis [Thu, 15 Oct 2015 21:59:26 +0000 (14:59 -0700)]
Remove use of ICU C++ NumberFormat class

This change removes NumberFormat in favor of UNumberFormat. There is a
bit of work that needs to happen in order to keep the normalization code
we use to convert an ICU pattern so to something we can match against
working.

Instead of UnicodeStrings, the input to the normalization function is
now a UChar* and we build up a std::string during normalization.  This
allows us to also skip a conversion from UChar* back to char* so we can
find the correct pattern in our collection of patterns to examine.

8 years agoRemove use of ICU C++ DateFormatSymbols
Matt Ellis [Thu, 15 Oct 2015 18:20:59 +0000 (11:20 -0700)]
Remove use of ICU C++ DateFormatSymbols

8 years agoConvert DateFormat to UDateFormat
Matt Ellis [Thu, 15 Oct 2015 00:39:40 +0000 (17:39 -0700)]
Convert DateFormat to UDateFormat

Remove uses of the C++ DateFormat and SimpleDateFormat classes in favor
of UDateFormat.

As part of this change, it was easier to move some of the code that
converts an ICU format string to a .NET Style format string from native
code up to managed code. This code used UnicodeString and we'll need to
move away from that as well as we remove all the C++ usage.

8 years agoConvert DateTimePatternGenerator usage to C
Matt Ellis [Wed, 14 Oct 2015 22:45:03 +0000 (15:45 -0700)]
Convert DateTimePatternGenerator usage to C

Part of the effort to remove our usage of C++ ICU APIs. The major issue
here was that the C++ API used char*'s for some things whereas the C API
used UChar*'s so we needed to define our own copies of some constants.

We also need to manage a buffer ourselves, instead of being able to use
the underlying buffer of a retured UnicodeString.

8 years agoRemove use of ICU C++ Calendar class
Matt Ellis [Wed, 14 Oct 2015 19:30:37 +0000 (12:30 -0700)]
Remove use of ICU C++ Calendar class

We would like to be able to link against versions of ICU installed as a
"operating system level library" which means we can't take a dependency
on any C++ APIs.

This change moves away from icu::Calendar in favor of UCalendar. I also
introduce a small helper template to manage the lifetime of ICU
resources.

8 years agoMerge pull request #1824 from Priya91/fixbug
Lakshmi Priya [Wed, 21 Oct 2015 20:01:37 +0000 (13:01 -0700)]
Merge pull request #1824 from Priya91/fixbug

Fix lpFileName leak in InternalCreateProcess.

8 years agoAlways attempt to load specified DLL name first before trying variations
Aditya Mandaleeka [Tue, 20 Oct 2015 03:53:05 +0000 (20:53 -0700)]
Always attempt to load specified DLL name first before trying variations

8 years agoRemove ReversePInvoke test from failing tests list.
Aditya Mandaleeka [Thu, 15 Oct 2015 22:30:36 +0000 (15:30 -0700)]
Remove ReversePInvoke test from failing tests list.

8 years agoMove prefix/suffix logic to dllimport
Aditya Mandaleeka [Thu, 15 Oct 2015 22:09:51 +0000 (15:09 -0700)]
Move prefix/suffix logic to dllimport

8 years agoFix lpFileName leak in InternalCreateProcess.
Lakshmi Priya Sekar [Wed, 21 Oct 2015 15:57:23 +0000 (08:57 -0700)]
Fix lpFileName leak in InternalCreateProcess.

8 years agoMerge pull request #1822 from janvorli/fix-pal-new-usage
Stephen Toub [Wed, 21 Oct 2015 16:19:58 +0000 (12:19 -0400)]
Merge pull request #1822 from janvorli/fix-pal-new-usage

Remove new operator usage in PAL

8 years agoRemove new operator usage in PAL
Jan Vorlicek [Wed, 21 Oct 2015 14:49:45 +0000 (07:49 -0700)]
Remove new operator usage in PAL

This change fixes an issue caused by recent change in filename buffers
allocations. It was using the operator new, but it should not be used
in PAL since it invokes overriden operator new in the coreclr.
The fix is to use InternalMalloc instead.

8 years agoMerge pull request #1808 from om3n07/master
Stephen Toub [Wed, 21 Oct 2015 14:34:21 +0000 (10:34 -0400)]
Merge pull request #1808 from om3n07/master

Correct comments on Array sorting methods

8 years agoMerge pull request #1804 from dotnet-bot/from-tfs
Matt Ellis [Wed, 21 Oct 2015 06:58:01 +0000 (23:58 -0700)]
Merge pull request #1804 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #1817 from bryanar/pri1testfix
Bryan P. Arant [Wed, 21 Oct 2015 06:13:07 +0000 (23:13 -0700)]
Merge pull request #1817 from bryanar/pri1testfix

Fixing test infrastructure that affects pri1 tests.

8 years agoRemove bad wording
Richard Lander [Wed, 21 Oct 2015 06:02:19 +0000 (23:02 -0700)]
Remove bad wording
One team borrowed code from another.

8 years agoAdd attribution for lookup3.c
Richard Lander [Tue, 20 Oct 2015 04:08:32 +0000 (21:08 -0700)]
Add attribution for lookup3.c

8 years agoRemove duplicate license
Richard Lander [Tue, 20 Oct 2015 03:27:30 +0000 (20:27 -0700)]
Remove duplicate license

8 years agoAdd attribution for RFC 3492
Richard Lander [Tue, 20 Oct 2015 05:25:51 +0000 (22:25 -0700)]
Add attribution for RFC 3492

8 years agoCorrect attribution for UUIDs and GUIDs
Richard Lander [Mon, 19 Oct 2015 22:35:15 +0000 (15:35 -0700)]
Correct attribution for UUIDs and GUIDs

8 years agoRemove NR reference
Richard Lander [Mon, 19 Oct 2015 16:26:00 +0000 (09:26 -0700)]
Remove NR reference
After speaking to the authors, the attribution comment is not required for this instance. However, Numerical Recipes in C is an awesome book written by some very smart and classy folks. It's a great book.

8 years agoMerge pull request #1744 from Priya91/palstring-rest
Lakshmi Priya [Wed, 21 Oct 2015 02:02:33 +0000 (19:02 -0700)]
Merge pull request #1744 from Priya91/palstring-rest

Use StackString in PAL file apis.

8 years agoMerge pull request #1813 from adityamandaleeka/pal_cleanup
Aditya Mandaleeka [Wed, 21 Oct 2015 00:18:49 +0000 (17:18 -0700)]
Merge pull request #1813 from adityamandaleeka/pal_cleanup

Clean up cleanup code in PAL

8 years agoFix boundary bugs on buffer lengths. Include null char in MAX_LONGPATH.
Lakshmi Priya Sekar [Mon, 19 Oct 2015 18:01:24 +0000 (11:01 -0700)]
Fix boundary bugs on buffer lengths. Include null char in MAX_LONGPATH.

8 years agoFixing some pri1 tests.
Bryan Arant [Tue, 20 Oct 2015 23:03:04 +0000 (16:03 -0700)]
Fixing some pri1 tests.