History log of /external/libcxx/include/support/win32/locale_win32.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9de86592239dd9ff2ff289d051231a646d4d609d 23-Nov-2017 Martin Storsjo <martin@martin.st> Allow to set locale on Windows.

Fix the problem PR31516 with setting locale on Windows by wrapping
_locale_t with a pointer-like class.

Reduces 74 test failures in std/localization test suite to 47 test
failures (on llvm clang, Visual Studio 2015). Number of test failures
doesn't depend on the platform (x86 or x64).

Patch by Andrey Khalyavin.

Differential Revision: https://reviews.llvm.org/D40181

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318902 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
abba9f214b2d0453ab9a7c1b411d5f31749a3afd 21-Nov-2017 Martin Storsjo <martin@martin.st> Remove a broken win32 locale function redirection

One can't replace vsscanf(_l) with a sscanf(_l) that doesn't
take a va_list.

This has been untouched since it was added in SVN r140728, so
apparently it hasn't been used since. One reason for this mistake
originally might have been that there was no _vsscanf_l until MSVC
2015.

Since it's unused, just remove this define.

Differential Revision: https://reviews.llvm.org/D40323

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
ea75e09e617815faace7bfeb7ad8885067a46fb6 06-Sep-2017 Martin Storsjo <martin@martin.st> Redirect strftime_l to the locale-ignorant strftime on mingw

_strftime_l is only available in the numbered msvcrt versions
(starting from msvcr80.dll). In the default configuration, mingw
targets the unversioned msvcrt.dll - and there, _strftime_l is
not available (not even on windows 10).

If __MSVCRT_VERSION__ is set to a higher value (indicating a
non-default target and wanting to link to msvcrXX.dll), use the
correct function.

Differential Revision: https://reviews.llvm.org/D37468

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@312617 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
7b7ac67cfb9a9c22b11a8100f6a37e0b1d692c9b 01-Jun-2017 Eric Fiselier <eric@efcs.ca> Fix Libc++ build with MinGW64

Summary: This patch corrects the build errors I encountered when building on MinGW64.

Reviewers: mati865, rnk, compnerd, smeenai, bcraig

Reviewed By: mati865, smeenai

Subscribers: martell, chapuni, cfe-commits

Differential Revision: https://reviews.llvm.org/D33082

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@304360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
41af64afad4ac5525e7fc0a506915124f126c0ca 10-May-2017 Eric Fiselier <eric@efcs.ca> [libc++] Refactor Windows support headers.

Summary:
This patch refactors and tries to remove as much of the Windows support headers as possible. This is needed because they currently introduce super weird include cycles and dependencies between STL and libc headers.

The changes in this patch are:

* remove `support/win32/support.h` completely. The required parts have either been moved into `support/win32/msvc_support.h` (for `MSVC` only helpers not needed by Clang), or directly into their respective `foo.h` headers.

* Combine `locale_win32.h` and `locale_mgmt_win32.h` into a single headers, this header should only be included within `__locale` or `locale` to avoid include cycles.

* Remove the unneeded parts of `limits_win32.h` and re-name it to `limits_msvc_win32.h` since it's only needed by Clang.

I've tested this patch using Clang on Windows, but I suspect it might technically regress our non-existent support for MSVC. Is somebody able to double check?

This refactor is needed to support upcoming fixes to `<locale>` on Windows.



Reviewers: bcraig, rmaprath, compnerd, EricWF

Reviewed By: EricWF

Subscribers: majnemer, cfe-commits

Differential Revision: https://reviews.llvm.org/D32988

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302727 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
1133de5f1837ae6c39aac61a904a832a90f0f154 08-May-2017 Eric Fiselier <eric@efcs.ca> Fix DLL import/export on Win32 locale helpers

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
04b59f934e3b639e5866aea40b7089fdc5f0f080 07-Apr-2017 Shoaib Meenai <smeenai@fb.com> [libc++] Drop support for CRTs older than VS 2015

LLVM dropped support for Visual Studio versions older than 2015 quite
some time ago, so I consider it safe to drop libc++'s support for older
CRTs. The CRT in Visual Studio 2015 provides a lot of previously missing
functions, so targeting it requires less special casing.

Differential Revision: https://reviews.llvm.org/D31798

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@299743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
f7f9effb8e8e4c97ffdb0ee9e327dc2b86b31795 02-Jan-2017 Saleem Abdulrasool <compnerd@compnerd.org> locale: update ctype access for MSVC CRT 14+

Visual C++ 14 and newer split msvcrt into msvcrt and ucrt with flavours
of the ucrt for different environments. This changed the access to the
ctype table by introducing the `__pctype_func` and `__pwctype_func`
accessors. Use this rather than directly accessing `_ctype` which
allows us to be safer in threaded situations by going through the libc
locking.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
56919fcf4e2b66028dc48048b5fa0bf1dcff5175 29-Sep-2016 Shoaib Meenai <smeenai@fb.com> [libc++] Add missing locale aliases

Add underscore aliases for strtof_l and strtod_l. _strtold_l exists in
VS 2013 and above, so fix that definition as a drive-by fix.

Differential Revision: https://reviews.llvm.org/D25059

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@282681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
cac9e30dbedef0887a35c42dbd96d8974660a11a 15-Sep-2016 Shoaib Meenai <smeenai@fb.com> [libc++] Avoid <memory> include in locale_win32.h

When `_LIBCPP_NO_EXCEPTIONS` is defined, we end up with compile errors
when targeting MSVCRT:

* Code includes `<new>`
* `<new>` includes `<cstdlib>` in order to get `abort`
* `<cstdlib>` includes `<stdlib.h>`, _before_ the `using ::abort`
* `<stdlib.h>` includes `locale_win32.h`
* `locale_win32.h` includes `<memory>`
* `<memory>` includes `<stdexcept>`
* `<stdexcept>` includes `<cstdlib` for `abort`, but that inclusion gets
(correctly) ignored because of header guards
* `<stdexcept>` references `_VSTD::abort`, which isn't declared

The easiest solution is to make `locale_win32.h` not include `<memory>`,
by removing the use of `unique_ptr` and manually restoring the locale
instead.

Differential Revision: https://reviews.llvm.org/D24374

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@281641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
218742520303ae0c69c5cce195f39f05110af4e1 09-Mar-2016 Ben Craig <ben.craig@codeaurora.org> Split locale management out of locale_win32. NFCI

For the locale refactor, the locale management functions (newlocale,
freelocale, uselocale) are needed in a separate header from the various _l
functions. This is because some platforms implement the _l functions in terms
of a locale switcher RAII helper, and the locale switcher RAII helper needs
the locale management functions. This patch helps pave the way by getting all
the functions in the right files, so that later diffs aren't completely
horrible.

Unfortunately, the Windows, Cygwin, and MinGW builds seemed to have
bit-rotted, so I wasn't able to test this completely. I don't think I made
things any worse than they already are though.

http://reviews.llvm.org/D17419


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@263020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
15c04bedad8762d7ed031d53db26bf02b2df18bb 18-Nov-2013 Yaron Keren <yaron.keren@gmail.com> This patch implements snprintf_l function in a way similar to the other
functions in src/support/win32/locale_win32.cpp and locale_win32.h,
calling upon vsnprintf for which there is a MingW correct alternative.

Note! __USE_MINGW_ANSI_STDIO is not modified in this patch. In order to
use the __mingw version it must be defined before including the MingW
headers.




git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@195044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
1e564246eced50a94eea249719498e72e236a571 05-Oct-2013 Howard Hinnant <hhinnant@apple.com> G M: Changes all references to "x inline" to "inline x" where x = _libcpp_always_inline or _libcpp_inline_visibility macros.

The patch touches these files:

locale
array
deque
new
string
utility
vector
__bit_reference
__split_buffer
locale_win32.h

There is no intended functionality change and it is expected that reversing the position of the inline keyword with regard to the other keywords does not change the meaning of anything, least not for apple/Linux etc.

It is intended to make libcxx more consistent with itself and to prevent the 1000 or so
"inline.cpp(3) : warning C4141: 'inline' : used more than once" warnings that MS's cl.exe compiler emits without this patch, i.e. if inline is not the first keyword before a function name etc.

Prefer "inline [other inline related keyword]" over "[other related keyword] inline".
After this patch, libcxx should be consistent to this pattern.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@191987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
ef5aa93b9cdc5bfea3e4c59bafd784a9ff968dec 17-Sep-2013 Howard Hinnant <hhinnant@apple.com> G M: Restore the ability for libcxx to compile again on mingw 64.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
a5733b3ad3695aed8f7676165dabe3da7f49d78c 12-Apr-2013 Howard Hinnant <hhinnant@apple.com> Ruben Van Boxem: Turn islower_l and isupper_l into functions (instead of macros) on Windows only to quell a warning during libc++ building.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@179408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
9f8884e6c18994360a5e580e5de3aad7a289205d 27-Oct-2011 Howard Hinnant <hhinnant@apple.com> Windows port work by Ruben Van Boxem

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@143105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h
14fa9f9d8ff5a4541404f3e23b91188e74c56f31 29-Sep-2011 Howard Hinnant <hhinnant@apple.com> Windows port work by Ruben Van Boxem

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@140805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxx/include/support/win32/locale_win32.h