summaryrefslogtreecommitdiffstats
path: root/libcxx/include/locale
Commit message (Collapse)AuthorAgeFilesLines
...
* Patch by Bruce Mitchener. Change all references to EMSCRIPTEN to ↵Marshall Clow2013-11-191-1/+1
| | | | | | __EMSCRIPTEN__. If you're not using the PP symbol EMSCRIPTEN, then you should see no functionality change. llvm-svn: 195136
* More duplicate code removal in <locale>. Hoist common parsing code into two ↵Marshall Clow2013-11-071-236/+54
| | | | | | templates: num_get::__do_get_signed and num_get::__do_get_unsigned, and make the do_get routines call them. No functionality change. llvm-svn: 194185
* Refactor floating point code for num_get::do_get into a template. No ↵Marshall Clow2013-11-051-89/+23
| | | | | | functionality change llvm-svn: 194080
* Patch from GM to make more implicit bools explicit since we can't stop MSVC ↵Marshall Clow2013-10-131-1/+1
| | | | | | warning about this in headers and to warn is the MSVC default. No functionality change. llvm-svn: 192548
* G M: Changes all references to "x inline" to "inline x" where x = ↵Howard Hinnant2013-10-041-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | _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. llvm-svn: 191987
* G M: Restore the ability for libcxx to compile again on mingw 64.Howard Hinnant2013-09-171-1/+1
| | | | llvm-svn: 190837
* LWG issues 2174/5/6 - mark wstring_convert::converted as noexcept, and make ↵Marshall Clow2013-08-271-11/+16
| | | | | | (some of) the constructors for wstring_convert and wbuffer_convert as explicit. Add configuration macro _LIBCPP_EXPLICIT_AFTER_CXX11 llvm-svn: 189398
* Debug mode for string. This commit also marks the first time libc++ ↵Howard Hinnant2013-08-231-36/+41
| | | | | | debug-mode has found a bug (found one in regex). Had to play with extern templates a bit to get this to work since string is heavily used within libc++.dylib. llvm-svn: 189114
* Xing Xue: port to IBM XLC++/AIX.Howard Hinnant2013-08-141-1/+1
| | | | llvm-svn: 188396
* Nico Rieck: this patch series fixes visibility issues on Windows as ↵Howard Hinnant2013-08-121-58/+59
| | | | | | explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>. llvm-svn: 188192
* Nico Rieck: Currently _MSC_VER and _WIN32 are used to guard code which isHoward Hinnant2013-08-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | MSVC-specific, MSVCRT-specific, or Windows-specific. Because Clang can also define _MSC_VER, and MSVCRT is not necessarily the only C runtime, these macros should not be used interchangeably. This patch divides all Windows-related bits into the aforementioned categories. Two new macros are introduced: - _LIBCPP_MSVC: Defined when compiling with MSVC. Detected using _MSC_VER, excluding Clang. - _LIBCPP_MSVCRT: Defined when using the Microsoft CRT. This is the default when _WIN32 is defined. This leaves _WIN32 for code using the Windows API. This also corrects the spelling of _LIBCP_HAS_IS_BASE_OF to _LIBCPP_HAS_IS_BASE_OF. Nico, please prepare a patch for CREDITS.TXT, thanks. llvm-svn: 187593
* Matthew Dempsky: In libc++'s <locale>, there's already dependence on an ↵Howard Hinnant2013-07-021-24/+10
| | | | | | | | | | | | | | snprintf_l implementation and all of the char buffers readily have their allocated size available, so we can easily use snprintf_l instead of sprintf_l. This avoids OpenBSD's linker warnings against using sprintf and vsprintf. Howard: Please consider a patch for CREDITS.TXT llvm-svn: 185457
* Add NetBSD support.Joerg Sonnenberger2013-05-171-0/+2
| | | | llvm-svn: 182162
* Numeric parsing was getting the wrong answer when faced with very long ↵Howard Hinnant2013-04-151-16/+132
| | | | | | inputs. This fixes both http://llvm.org/bugs/show_bug.cgi?id=15751 and http://llvm.org/bugs/show_bug.cgi?id=15740 llvm-svn: 179556
* Set failbit when strtold sets errno to ERANGE when parsing floating point ↵Howard Hinnant2013-04-131-0/+7
| | | | | | values. llvm-svn: 179461
* Bruce Mitchener, Jr.: Port to emscripten. Fixes ↵Howard Hinnant2013-03-291-1/+1
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=15624. llvm-svn: 178354
* Fix buffer read overflow in money_get::do_get(). Found by UBSanMarshall Clow2013-03-221-1/+1
| | | | llvm-svn: 177694
* Removed raw references to __sun__, __FreeBSD__, __GLIBC__ and __linux__; now ↵Marshall Clow2013-03-181-1/+1
| | | | | | just check to see if they are defined. llvm-svn: 177310
* Removed raw references to __APPLE__; now just check to see if it is defined.Marshall Clow2013-03-181-3/+3
| | | | llvm-svn: 177297
* Removed raw references to _WIN32; now just check to see if it is defined.Marshall Clow2013-03-181-4/+4
| | | | llvm-svn: 177291
* Parsing floating point numbers with very long precision was broken, and this ↵Howard Hinnant2013-03-081-7/+13
| | | | | | patch fixes it. This fixes http://llvm.org/bugs/show_bug.cgi?id=15445. llvm-svn: 176711
* No functionality change at this time. I've split _LIBCPP_VISIBLE up into ↵Howard Hinnant2013-03-061-17/+17
| | | | | | two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS. This is in preparation for taking advantage of clang's new __type_visibility__ attribute. llvm-svn: 176593
* Saleem Abdulrasool: If errno is defined as volatile int, the qualifier ↵Howard Hinnant2013-01-221-4/+4
| | | | | | | | | | | differences can cause template typename deductions on swap<> (used in string.cpp). Use decltype(errno) to replicate the type and qualifier information for holding the errno value. Because errno is expected to be assignable, there is no need to use typename std::remove_const<decltype(errno)>::type to hold the value. llvm-svn: 173172
* Don't mark variadic functions as always inline -- they cannot in fact beChandler Carruth2012-12-311-4/+4
| | | | | | | | inlined. Patch by Saleem Abdulrasool, reviewed by Michael Spencer and Richard Smith. llvm-svn: 171276
* Zhang Xiongpang: Add definitions for const data members. Fixes ↵Howard Hinnant2012-12-121-0/+4
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=14585. llvm-svn: 170026
* Restrict optimized __pad_and_output implementation detail to desired releases.Howard Hinnant2012-11-141-0/+10
| | | | llvm-svn: 167980
* Dimitry Andric: Silence some warnings in <locale>.Howard Hinnant2012-11-061-3/+2
| | | | llvm-svn: 167492
* Provide a way to disable use of extern templates in libc++. This is ↵Howard Hinnant2012-11-061-36/+36
| | | | | | intended for the clients of libc++, not the libc++ build. The dylib should always contain the extern templates. To disable the client needs to put -D'_LIBCPP_EXTERN_TEMPLATE(...)=' on the command line. llvm-svn: 167486
* Overloaded __pad_and_output on ostreambuf_iterator and in this overload call ↵Howard Hinnant2012-09-191-0/+46
| | | | | | sputn instead of dereferencing the iterator which calls sputc. This is intended to be purely a performance optimization, especially for clients who may have overloaded the virtual function xsputn. llvm-svn: 164241
* Fixed a bug in wstring_convert concerning zero-length inputs. Thanks to ↵Howard Hinnant2012-07-121-2/+4
| | | | | | Jonathan Coxhead for reporting this bug. llvm-svn: 160136
* Fix moneypunct_byname algorithm to more accurately represent C locales in C++.Jeffrey Yasskin2012-03-101-5/+30
| | | | llvm-svn: 152501
* Change some smart_ptr == 0 to smart_ptr == nullptr. Fixes ↵Howard Hinnant2012-03-071-1/+1
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=12185. llvm-svn: 152240
* Don't define __locale_raii if we are not going to be using it.David Chisnall2012-02-291-0/+2
| | | | llvm-svn: 151718
* Do not parse sign if a sign is not the next legal character when parsing ↵Howard Hinnant2012-02-151-0/+9
| | | | | | floating point from an input stream. Fixes http://llvm.org/bugs/show_bug.cgi?id=11871 llvm-svn: 150609
* Quash a whole bunch of warningsHoward Hinnant2011-12-011-43/+44
| | | | llvm-svn: 145624
* Add protection from min/max macrosHoward Hinnant2011-11-291-0/+2
| | | | llvm-svn: 145407
* Windows support by Ruben Van Boxem.Howard Hinnant2011-10-171-0/+2
| | | | llvm-svn: 142235
* Starting on musl port by Arvid PiccianiHoward Hinnant2011-10-111-3/+3
| | | | llvm-svn: 141672
* Windows port work by Ruben Van BoxemHoward Hinnant2011-09-291-2/+1
| | | | llvm-svn: 140805
* Attempted locale refactoring. _LIBCPP_LOCALE__L_EXTENSIONS now should be ↵Howard Hinnant2011-09-281-24/+22
| | | | | | defined if one has all of the xxx_l() functions. I've defined this for apple, freebsd and win32. _LIBCPP_HAS_DEFAULTRUNELOCALE should be defined if there is a _DefaultRuneLocale. I've defined this for apple and freebsd. The block of code we're trying to migrate away from is now under #ifdef __linux__. I've tested only on OS X. I hope I haven't broken things too badly elsewhere. Please let me know. llvm-svn: 140734
* Work on Windows port by Ruben Van BoxemHoward Hinnant2011-09-281-1/+2
| | | | llvm-svn: 140728
* Attempt to enable locale simplification. On which platforms can we now ↵Howard Hinnant2011-09-281-45/+27
| | | | | | #define _LIBCPP_STABLE_APPLE_ABI? llvm-svn: 140724
* Work on Windows port by Ruben Van BoxemHoward Hinnant2011-09-231-1/+13
| | | | llvm-svn: 140384
* Partial Windows port by Ruben Van BoxemHoward Hinnant2011-09-221-0/+2
| | | | llvm-svn: 140328
* Fixes for FreeBSD, including some fairly obvious copy-and-paste errors.David Chisnall2011-09-211-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libc++ now mostly works on FreeBSD with libcxxrt and this patch applied to the base system: http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20110920/e666632c/xlocale-0001.obj Summary of tests on FreeBSD: **************************************************** Results for /root/libcxx/test: using FreeBSD clang version 3.0 (trunk 135360) 20110717 Target: x86_64-unknown-freebsd9.0 Thread model: posix with -std=c++0x -stdlib=libc++ -I/root/libcxx/include -L/root/libcxx/build/lib ---------------------------------------------------- sections without tests : 1 sections with failures : 48 sections without failures: 1015 + ---- total number of sections : 1064 ---------------------------------------------------- number of tests failed : 145 number of tests passed : 4179 + ---- total number of tests : 4324 **************************************************** (Many due to this clang version not supporting C++ atomics) More fixes to follow... llvm-svn: 140245
* Revert locale for apple back to original design, getting rid of now useless ↵Howard Hinnant2011-07-151-88/+18
| | | | | | helper *_l functions llvm-svn: 135272
* _LIBCXX_STABLE_APPLE_ABI -> _LIBCPP_STABLE_APPLE_ABIHoward Hinnant2011-07-151-3/+3
| | | | llvm-svn: 135271
* Reapply 135035 with proper conditional inclusion, hopefully solvingAlexis Hunt2011-07-151-57/+262
| | | | | | issues with it. llvm-svn: 135246
* Reverted to 134947. Once I got into it, I discovered there were too many ↵Howard Hinnant2011-07-131-262/+57
| | | | | | problems to fix in 135035. llvm-svn: 135044
* Implement the __nolocale functions properly so that they will work onAlexis Hunt2011-07-131-57/+262
| | | | | | | | | | | all platforms. Unfortunately a lot of this remains conditionally compiled so as not to break Apple's ABI. The new _LIBCPP_LOCALE__L_EXTENSIONS macro can be defined on other platforms that support _l suffixes for all functions in order to use them. llvm-svn: 135035
OpenPOWER on IntegriCloud