| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: K-ballo, mclow.lists, EricWF
Reviewed By: EricWF
Subscribers: jfb, jroelofs, majnemer, cfe-commits
Differential Revision: http://reviews.llvm.org/D6558
llvm-svn: 225273
|
|
|
|
|
|
| |
LIBCXX_ENABLE_RTTI are turned off.
llvm-svn: 224095
|
|
|
|
|
|
| |
bad_optional_access to match the Library Fundamentals draft standard. This is not all of the upcoming changes to optional, though.
llvm-svn: 223775
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: NaCl shouldn't include sysctl.h when trying to determine std::thread::hardware_concurrency, it should instead use sysconf(_SC_NPROCESSORS_ONLN) through unistd.h. No test needs to be changed, since hardware_concurrency.pass.cpp already tests that std::thread::hardware_concurrency > 0.
Test Plan: make check-libcxx
Reviewers: dschuff, danalbert
Subscribers: jfb, cfe-commits
Differential Revision: http://reviews.llvm.org/D6470
llvm-svn: 223128
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The NaCl sandbox doesn't allow opening files under /dev, but it offers an API which provides the same capabilities. This is the same random device emulation that nacl_io performs for POSIX support, but nacl_io is an optional library so libc++ can't assume that device emulation will be performed. Note that NaCl only supports /dev/urandom, not /dev/random.
This patch also cleans up some of the preprocessor #endif, and fixes the test for Win32 (it accepts any token, and would therefore never throw regardless of the token provided).
Test Plan: ninja check-libcxx
Reviewers: dschuff, mclow.lists, danalbert
Subscribers: jfb, cfe-commits
Differential Revision: http://reviews.llvm.org/D6442
llvm-svn: 223068
|
|
|
|
| |
llvm-svn: 222794
|
|
|
|
|
|
|
|
| |
Since the initialization of the pointer happens across the libc library boundry
MSAN will not know the pointer was initialized. This fixes MSAN failures in
test/strings/string.conversions.
llvm-svn: 222052
|
|
|
|
| |
llvm-svn: 221029
|
|
|
|
|
|
| |
conditional compilation block
llvm-svn: 221025
|
|
|
|
|
|
| |
multiple defines. Patch from Baptiste Daroussin.
llvm-svn: 220882
|
|
|
|
|
|
| |
poo-poohed it, and was wrong. Fix the call in <locale>. Review the others, refactored some duplicated code, and found overflow bugs (and __event_cap_ was never getting updated, either).
llvm-svn: 220702
|
|
|
|
| |
llvm-svn: 217276
|
|
|
|
|
|
|
|
|
|
| |
If you're crazy enough to want this sort of thing, then add
-D_LIBCPP_HAS_NO_THREADS to your CXXFLAGS and
--param=additiona_features=libcpp-has-no-threads to your lit commnad line.
http://reviews.llvm.org/D3969
llvm-svn: 217271
|
|
|
|
| |
llvm-svn: 216999
|
|
|
|
|
|
| |
http://reviews.llvm.org/D4045
llvm-svn: 216949
|
|
|
|
| |
llvm-svn: 216943
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After discussing implementing more tests for this with @danalbert & @mclow, I
realized this change is not correct.
The C++ standard requires do_is() to behave as if it were a loop that checked
is(). Furthermore, it requires is() to check "The first form returns the result
of the expression (M & m) != 0; i.e., true if the character has the
characteristics specified"... which the reverted patch definitely does not
conform to. Even further, furthermore, this requires that ctype's mask be an
actual bitmask, unlike what android and newlib provide for _ctype_.
Fixing the original bug that instigated this patch remains TBD.
llvm-svn: 216508
|
|
|
|
|
|
|
| |
This patch: http://reviews.llvm.org/D5081
Original patch: http://reviews.llvm.org/D5071 (from @danalbert)
llvm-svn: 216497
|
|
|
|
|
|
|
|
|
|
|
| |
Turning off explicit template instantiation leads to a pretty
significant build time and code size cost. We're better off dealing
with ABI incompatibility issues that come up in a less heavy handed
way.
This reverts commit r189610.
llvm-svn: 215740
|
|
|
|
|
|
|
| |
Keeping the regex code sane is much easier if we match the other
platforms and use an unsigned mask.
llvm-svn: 214442
|
|
|
|
|
|
|
|
|
|
|
|
| |
__get_classname() and __bracket_expression were assuming that
char_class_type was ctype_base::mask rather than using
regex_traits<_CharT>::char_class_type.
This change allows char_class_type to be defined to something other than
ctype_base::mask so that the implementation will still work for
platforms with an 8-bit ctype mask (such as Android and OpenBSD).
llvm-svn: 214201
|
|
|
|
|
|
| |
Android's classic_locale begins at _ctype_ + 1.
llvm-svn: 213672
|
|
|
|
| |
llvm-svn: 212724
|
|
|
|
|
|
|
|
|
|
| |
Signals may result in nanosleep returning with only some of the
requested sleeping performed.
Utilize nanosleep's "time-remaining" out parameter to continue sleeping
when this occurs.
llvm-svn: 210210
|
|
|
|
|
|
|
|
|
|
| |
Make sure we appropriately retry calls to read if the return result is
less than what we asked for.
Additionally, check and handle IO errors: EINTR results in the read
operation getting restarted; other errors turn into exceptions.
llvm-svn: 210061
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
random_device::random_device(const string&) wrongly assumes that open
can only validly return a file descriptor greater than zero.
This results in random_device believing that it didn't successfully open
the device causing it to throw in it's constructor, this ends up leaking
a file descriptor.
The fix is simple, don't error on file descriptors which are zero.
llvm-svn: 210060
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[syserr.errcat.objects]p4 specifies that
system_category().default_error_condition(ev) map to
error_condition(posv, generic_category()) if ev could map to a POSIX
errno.
Linux reserves up to and including 4095 for errno values, use this as a
bound.
This fixes syserr.errcat.objects/system_category.pass.cpp on Linux.
llvm-svn: 209795
|
|
|
|
| |
llvm-svn: 208869
|
|
|
|
|
|
|
|
|
| |
compatibility to libstdc++. Move the implementation into a header for
easier sharing with libc++abi. Merge a number of improvements from that
version. Provide a POD definition for <stdexcept>'s public use to avoid
cast dances. Discussed with Marshall Clow.
llvm-svn: 207695
|
|
|
|
|
|
| |
condition_variable::wait, call terminate() rather than throwing an error. Do this indirectly, by marking the call as 'noexcept'. This is better than just calling terminate() directly, because it gives a better error message on the console.
llvm-svn: 204778
|
|
|
|
|
|
|
|
|
|
| |
This is as straightforward as it sounds, a renamed from shared_mutex to
shared_timed_mutex.
Note that libcxx .dylib and .so files built with c++14 support need to
be rebuilt.
llvm-svn: 204078
|
|
|
|
| |
llvm-svn: 204077
|
|
|
|
|
|
| |
Change suggested by Joerg Sonnenberger!
llvm-svn: 199500
|
|
|
|
|
|
|
|
|
|
| |
The __sync_add_and_fetch() builtin parameter is volatile but clang has
'different' type checking and ends up accepting this code.
Undo the C++ cast from r198505 to get libc++/LLVM building with g++ while this
is investigated.
llvm-svn: 199494
|
|
|
|
|
|
| |
functionality change. Fixes 18291. Thanks to Nico for the bug report and the patch.
llvm-svn: 199400
|
|
|
|
|
|
| |
address. Restores the assembly of before r198504.
llvm-svn: 198698
|
|
|
|
| |
llvm-svn: 198505
|
|
|
|
|
|
|
|
|
|
| |
We should check defined(__clang__) before the usage of the
clang diagnostic pragmas.
The [-Wswitch] warning in src/future.cpp should be ignored.
As the result, the equivalent GCC pragma is added.
llvm-svn: 197314
|
|
|
|
| |
llvm-svn: 195144
|
|
|
|
|
|
| |
__EMSCRIPTEN__. If you're not using the PP symbol EMSCRIPTEN, then you should see no functionality change.
llvm-svn: 195136
|
|
|
|
| |
llvm-svn: 195045
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 195044
|
|
|
|
|
|
| |
namespace, since it's not part of C++14, but of an upcoming TS
llvm-svn: 194867
|
|
|
|
|
|
| |
change. PR17843
llvm-svn: 194432
|
|
|
|
|
|
| |
some 'unknown pragma' warnings when compiling under MSVC, and don't use the __sso_allocator under windows, b/c MSVC doesn't support aligned-by value parameters
llvm-svn: 193086
|
|
|
|
|
|
| |
warning about this in headers and to warn is the MSVC default. No functionality change.
llvm-svn: 192548
|
|
|
|
| |
llvm-svn: 192545
|
|
|
|
| |
llvm-svn: 192539
|
|
|
|
| |
llvm-svn: 192325
|
|
|
|
|
|
|
| |
Rather than try to protect the function behind a precise,
ever-changing #if expression, just inline it into every caller.
llvm-svn: 192077
|