| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
tests to char_traits specializations
llvm-svn: 228981
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
An evil user might overload operator comma. Use a void cast to make sure any user overload is not selected.
Modify all the test iterators to define operator comma.
Reviewers: danalbert, mclow.lists
Reviewed By: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D5929
llvm-svn: 220706
|
|
|
|
|
|
|
|
| |
GCC 4.9 fails to inline these functions at -O1 because they are used
indirectly. Declare them as inline instead of always_inline. Discussion
in GCC bugreport: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63220
llvm-svn: 217961
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
external include guards.
Things done in this patch:
1. Make __debug include __config since it uses macros from it.
2. The current method of defining _LIBCPP_ASSERT is prone to redefinitions. Move
the null _LIBCPP_ASSERT definition into the __debug header to prevent this.
3. Remove external <__debug> include gaurds. <__debug> guards almost all of its
contents internally. There is no reason to be doing it externally.
This patch should not change any functionality.
llvm-svn: 215332
|
|
|
|
|
|
| |
allocator. Thanks to Thomas Koeppe for the report
llvm-svn: 213269
|
|
|
|
|
|
| |
of refacoring in algorithm as well. Give them better names while we're at it. All of these are internal rotines; no visible functionality change.
llvm-svn: 210561
|
|
|
|
|
|
| |
between <string> and <string_view>. No functionality change
llvm-svn: 210002
|
|
|
|
| |
llvm-svn: 208869
|
|
|
|
|
|
| |
member function assign of std::basic_string.
llvm-svn: 202876
|
|
|
|
| |
llvm-svn: 201472
|
|
|
|
|
|
| |
functionality change
llvm-svn: 196788
|
|
|
|
|
|
| |
incorrectly throw length_error (instead of bad_alloc) when attempting to resize the string to 'max_size()'. Add tests for resizing to max_size +/-1
llvm-svn: 194151
|
|
|
|
| |
llvm-svn: 193772
|
|
|
|
| |
llvm-svn: 192047
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_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
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 188396
|
|
|
|
|
|
| |
explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>.
llvm-svn: 188192
|
|
|
|
| |
llvm-svn: 187906
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 186956
|
|
|
|
|
|
| |
string. This completes the custom pointer support for the entire library.
llvm-svn: 185167
|
|
|
|
|
|
| |
string is short, the data pointer will be word-aligned. It can be activated with -D_LIBCPP_ALTERNATE_STRING_LAYOUT. These two different layouts (the default and _LIBCPP_ALTERNATE_STRING_LAYOUT) are not ABI compatible with each other. Once one is chosen for a given platform, it is disruptive to change it.
llvm-svn: 180811
|
|
|
|
| |
llvm-svn: 180072
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
at this point.
llvm-svn: 174625
|
|
|
|
|
|
|
|
|
|
|
| |
against libc++abi and libcxxrt to CMake builds of libc++.
Usage (with the appropriate CC and CXX environment variables) is:
$ cmake -DLIBCXX_CXX_ABI=libcxxabi '-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=/home/michael/libcxxabi/include' ../libcxx
and:
$ cmake -DLIBCXX_CXX_ABI=libcxxrt '-DLIBCXX_LIBCXXRT_INCLUDE_PATHS=/home/michael/libcxxrt/src' ../libcxx
llvm-svn: 174623
|
|
|
|
| |
llvm-svn: 171321
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
other system code.
llvm-svn: 167038
|
|
|
|
| |
llvm-svn: 165860
|
|
|
|
| |
llvm-svn: 160563
|
|
|
|
| |
llvm-svn: 146329
|
|
|
|
|
|
| |
and also for basic_string. Also made hash<thread::id> ever so slighly more portable. I had to tweak one test which is questionable (definitely not portable) anyway.
llvm-svn: 145795
|
|
|
|
| |
llvm-svn: 145624
|
|
|
|
| |
llvm-svn: 145407
|
|
|
|
| |
llvm-svn: 142732
|
|
|
|
| |
llvm-svn: 142235
|
|
|
|
| |
llvm-svn: 139032
|
|
|
|
|
|
| |
propagate_on_container_move_assignment is false.
llvm-svn: 137862
|
|
|
|
| |
llvm-svn: 137522
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
are two motivations for this.
First, this allows users who are specializing __gnu_ext::hash to
continue doing so without changing their code.
Second, SGI specifies hash overloads for char* and const char* that
perform a hash of the string, not of the pointer.
In order to support this, the hashing code for string is factored out.
llvm-svn: 136539
|
|
|
|
|
|
| |
http://llvm.org/bugs/show_bug.cgi?id=10461
llvm-svn: 135893
|
|
|
|
| |
llvm-svn: 135873
|
|
|
|
| |
llvm-svn: 135393
|
|
|
|
| |
llvm-svn: 134639
|
|
|
|
| |
llvm-svn: 134190
|
|
|
|
|
|
| |
The purpose is to aid automated documentation tools.
llvm-svn: 133008
|
|
|
|
| |
llvm-svn: 132573
|
|
|
|
| |
llvm-svn: 132296
|