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
|