summaryrefslogtreecommitdiffstats
path: root/libcxx
Commit message (Collapse)AuthorAgeFilesLines
...
* Split <wctype.h> out of <cwctype>.Richard Smith2015-10-092-18/+79
| | | | llvm-svn: 249890
* Split <wchar.h> out of <cwchar>.Richard Smith2015-10-093-19/+155
| | | | llvm-svn: 249889
* Split <stdlib.h> out of <cstdlib>.Richard Smith2015-10-093-22/+152
| | | | llvm-svn: 249800
* Split <stdio.h> out of <cstdio>.Richard Smith2015-10-093-10/+147
| | | | | | As with <stddef.h>, skip our custom header if __need_FILE or __need___FILE is defined. llvm-svn: 249798
* PR25118: move system_header pragma before uses of include_next to avoid ↵Richard Smith2015-10-099-14/+29
| | | | | | extension warnings for people finding libc++ headers via -I paths. llvm-svn: 249788
* Fix test failure in C++98 mode due to imperfect static_assert emulation.Richard Smith2015-10-081-1/+1
| | | | llvm-svn: 249780
* Split <stddef.h> out of <cstddef>.Richard Smith2015-10-083-2/+80
| | | | | | | | | | | | | | There are a bunch of macros (__need_size_t etc) that request just one piece of <stddef.h>; if any one of these is defined, we just directly include the underlying header. Note that <stddef.h> provides a ::nullptr_t. We don't want that available to includers of <cstddef>, so instead of following the usual pattern where <cfoo> includes <foo.h> then pulls things from :: into std:: with using-declarations, we implement <stddef.h> and <cstddef> separately; both include <__nullptr> for the definition of std::nullptr_t. llvm-svn: 249761
* Fix incorrect file header. This is <cfenv> not <cctype>.Richard Smith2015-10-081-1/+1
| | | | llvm-svn: 249749
* Split <setjmp.h> out of <csetjmp>.Richard Smith2015-10-083-4/+44
| | | | llvm-svn: 249743
* Split <math.h> out of <cmath>.Richard Smith2015-10-085-1178/+2314
| | | | llvm-svn: 249742
* Split <inttypes.h> out of <cinttypes>.Richard Smith2015-10-083-5/+537
| | | | llvm-svn: 249741
* Split <float.h> out of <cfloat>.Richard Smith2015-10-082-8/+78
| | | | llvm-svn: 249740
* Split <errno.h> out of <cerrno>.Richard Smith2015-10-082-360/+393
| | | | llvm-svn: 249739
* Split <ctype.h> out of <cctype>.Richard Smith2015-10-083-32/+82
| | | | llvm-svn: 249738
* Factor definition of std::nullptr_t out of <cstddef> into a header that can ↵Richard Smith2015-10-082-44/+67
| | | | | | also be used by <stddef.h>. llvm-svn: 249737
* Mark 2244 as 'Patch Ready', 2477 and 2487 as 'Complete'Marshall Clow2015-10-071-7/+7
| | | | llvm-svn: 249595
* While researching LWG#2244, I noticed we weren't testing that eofbit was ↵Marshall Clow2015-10-071-0/+9
| | | | | | being cleared. Now we are llvm-svn: 249593
* Remove unnecessary inline functions capturing the contents of C library macros.Richard Smith2015-10-063-216/+0
| | | | | | | | | The C standard requires that these be provided as functions even if they're also provided as macros, and a strict reading of the C++ standard library rules suggests that (for instance) &::isdigit == &::std::isdigit, so these wrappers are technically non-conforming. llvm-svn: 249475
* Updated issue 2476Marshall Clow2015-10-061-2/+2
| | | | llvm-svn: 249461
* Our test allocators support move/copy construction; they should support ↵Marshall Clow2015-10-061-1/+7
| | | | | | move/copy assignment as well llvm-svn: 249458
* Add comments for LWG issues 2219 and 2367Eric Fiselier2015-10-061-2/+2
| | | | llvm-svn: 249372
* Mark 2259 and 2473 as complete. Add some more notesMarshall Clow2015-10-051-9/+9
| | | | llvm-svn: 249363
* Mark 2380 and 2384 as complete; no changes neededMarshall Clow2015-10-051-4/+4
| | | | llvm-svn: 249354
* Patch for 2466 is readyMarshall Clow2015-10-051-2/+2
| | | | llvm-svn: 249352
* Fixed a possible overflow in a test of allocator::max_size().Marshall Clow2015-10-051-2/+2
| | | | llvm-svn: 249349
* Mark a couple more issues 'ready'Marshall Clow2015-10-051-6/+6
| | | | llvm-svn: 249348
* Mark 2072 as complete; we already do thisMarshall Clow2015-10-051-2/+2
| | | | llvm-svn: 249347
* Patch ready for 2127Marshall Clow2015-10-051-2/+2
| | | | llvm-svn: 249345
* [libcxx] Reexport std::bad_array_length symbols from libc++abi on OS X.Eric Fiselier2015-10-052-1/+11
| | | | | | | | | | | | | | | | | | | | | | Summary: On OS X libc++ needs to reexport libc++abi's symbols in order for them to be provided. We explicitly list the symbols to reexport it libcxx/lib/libc++abi2.exp. This patch adds the symbols required by std::bad_array_length which have been missing for some time. However there is a problem. std::bad_array_length was add to libc++abi in September of 2013 by commit r190479, about a year after everything else. Therefore I think older OS X version have libc++abi versions without std::bad_array_length. On those systems libc++ won't build with this change because we will try and export undefined symbols. The workaround I would write to support older systems depends on the amount of people who would need it. If only a small number of developers are affected it might be sufficient to provide a CMake switch like `LIBCPP_LIBCPPABI_HAS_BAD_ARRAY_LENGTH` which is ON by default and can be disabled by those who need it. Otherwise I think we should try to automatically detect if the symbols are present in `/usr/lib/libc++abi.dylib` and configure accordingly. I would prefer the first solution because writing CMake sucks. Reviewers: mclow.lists, aprantl Subscribers: aprantl, cfe-commits Differential Revision: http://reviews.llvm.org/D13445 llvm-svn: 249339
* Add comments about the issuesMarshall Clow2015-10-051-4/+42
| | | | llvm-svn: 249334
* Private page for status of Kona issues and papers. Will be deleted after the ↵Marshall Clow2015-10-051-0/+109
| | | | | | Kona meeting. Not to be linked to from other pages. llvm-svn: 249333
* Implement LWG#2063, and update the issues links to point to the github ↵Marshall Clow2015-10-054-213/+220
| | | | | | generated pages llvm-svn: 249325
* [libcxx] Use newest supported language dialect when running the test suite.Eric Fiselier2015-10-031-1/+14
| | | | | | | | | | | | | | | Summary: Currently the test suite defaults to C++11 mode if no standard version is supplied to LIT using `--param=std=c++XX`. This patch changes that behavior so that the newest possible dialect is selected instead. I have already patched the C++11 bot to explicitly specify `--param=std=c++11`. I'm just putting this up for review to see if anybody objects to this idea. Reviewers: mclow.lists, jroelofs, danalbert Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D13331 llvm-svn: 249226
* [libcxx] Attempt to fix __throw_future_error in C++03 Eric Fiselier2015-10-021-31/+30
| | | | | | | | | | | | | | | | | | Summary: Hi Marshall, Could you please test this patch and see if you run into the same linker errors we talked about? I can't reproduce on linux or OS X. Hopefully you can't find any problems and we can fix the C++03 bot. Reviewers: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D13337 llvm-svn: 249192
* Attempt to prevent flaky thread.mutex tests by once again increasing timing ↵Eric Fiselier2015-10-0113-28/+37
| | | | | | tolerances llvm-svn: 248993
* Manually suppress -Wnonnull when it occurs in an unevaluated contextEric Fiselier2015-10-012-0/+12
| | | | llvm-svn: 248989
* Fix initialzation order in dynarrayEric Fiselier2015-10-011-1/+1
| | | | llvm-svn: 248988
* Suppress array initialization warnings in std::experimental::apply testsEric Fiselier2015-10-0119-18/+62
| | | | llvm-svn: 248987
* Dont link -lrt in the testsuite on linux unless using sanitizers.Eric Fiselier2015-10-011-2/+4
| | | | llvm-svn: 248986
* Fix Typo in GCC no RTTI detection. Fixes PR#24901. Thanks to Bernhard ↵Marshall Clow2015-09-221-1/+1
| | | | | | Rosenkraenzer for the report and the patch. llvm-svn: 248329
* Add placeholder __libcpp_relaxed_store() for when atomic builtins are not ↵Dimitry Andric2015-09-221-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | available. Summary: In rL241532, atomic_support.h was added, which provides handling of atomic operations for libc++. When atomic builtins are not available, it emits a warning about being unsupported, but it still provides a number of stubs for the required functions. However, it misses a stub for `__libcpp_relaxed_store()`. Add it, by using the same implementation as for `__libcpp_atomic_store()`. (Note that I encountered this on arm-freebsd, which still defaults to armv4, and does not have the runtime libcalls to support atomic builtins. For now, I have simply disabled using them.) Reviewers: mclow.lists, EricWF Subscribers: theraven, cfe-commits, jroelofs, majnemer, aemerson Differential Revision: http://reviews.llvm.org/D13051 llvm-svn: 248313
* Remove possible trailing padding from aligned_storage. Patch from Yiran WangEric Fiselier2015-09-221-2/+2
| | | | llvm-svn: 248309
* The test I cnecked in to check the fix for PR#24890 failed (as expected) w/o ↵Marshall Clow2015-09-221-0/+1
| | | | | | the fix, but for the wrong reason. Now it fails for the right reason. llvm-svn: 248307
* Check in the test for PR#24890 that I forgot in previous commitMarshall Clow2015-09-221-0/+18
| | | | llvm-svn: 248305
* Change pair::swap(pair&) to call ADL swap instead of iter_swap; this fixes ↵Marshall Clow2015-09-221-2/+3
| | | | | | an obscure bug having to do with overloaded operator&. Fixes PR#24890 llvm-svn: 248304
* Fix <atomic> with -pedantic-errorsEric Fiselier2015-09-221-1/+1
| | | | llvm-svn: 248240
* Add endianness configuration block for GCC.Dan Albert2015-09-161-0/+10
| | | | | | | Previously GCC using libc++ would just leak endian.h for every include. llvm-svn: 247827
* Suppress some warnings in the tests that snuck in. That 'tmpnam' is ↵Marshall Clow2015-09-152-1/+2
| | | | | | deprecated doesn't change the fact that we have to test it. llvm-svn: 247704
* Change initialization of mbstate_t objects in tests from '= {0}' to '= {}', ↵Marshall Clow2015-09-1519-21/+21
| | | | | | which does the same thing, w/o having clang and gcc warn with -Wall. llvm-svn: 247695
* Implementation of Boyer-Moore and Boyer-Moore-Horspool searchers for the LFTS.Marshall Clow2015-09-0811-4/+1360
| | | | llvm-svn: 247036
OpenPOWER on IntegriCloud