llvm /
libcxx /
22374ba643279ee83f26b88337d3d2e7829e7c00 Fix and speedup __libcpp_locale_guard on Windows
The old implementation assumed the POSIX `setlocale()` API where the old
locale is returned. On Windows, the _new_ locale is returned. This meant
that `__libcpp_locale_guard` wasn't resetting the locale on destruction.
The new implementation fixes the above issue and takes advantage of
`setlocale(LC_ALL)` to reduce the number of calls, and also avoids setting
the locale at all if it's not necessary.
Differential Revision: https://reviews.llvm.org/D59572
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@357104 91177308-0d34-0410-b5e6-96231b3b80d8
1 file changed