summaryrefslogtreecommitdiffstats
path: root/libcxx
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix build using the buildit scriptEric Fiselier2016-12-291-1/+1
| | | | llvm-svn: 290727
* Fix PR31489 - std::function self-swap segfaultsEric Fiselier2016-12-294-94/+205
| | | | llvm-svn: 290721
* Fix typo in commentEric Fiselier2016-12-281-1/+1
| | | | llvm-svn: 290666
* Fix ABI incompatible C++03 nullptr_tEric Fiselier2016-12-281-1/+9
| | | | | | | | | | | | | In C++03 libc++ emulates nullptr_t using a class, and #define's nullptr. However this makes nullptr_t mangle differently between C++03 and C++11. This breaks any function ABI which takes nullptr_t. Thanfully Clang provides __nullptr in all dialects. This patch adds an ABI option to switch to using __nullptr in C++03. In a perfect world I would like to turn this on by default, since it's just ABI breaking fix to an ABI breaking bug. llvm-svn: 290662
* Remove dead debug_mode doc linkEric Fiselier2016-12-281-1/+0
| | | | llvm-svn: 290659
* Ensure <__debug> gets the nullptr definition in C++03Eric Fiselier2016-12-281-0/+4
| | | | llvm-svn: 290658
* Fix debug mode for vector/list and cleanup testsEric Fiselier2016-12-2828-900/+410
| | | | llvm-svn: 290657
* Fix stupid build error caused by a stupid personEric Fiselier2016-12-281-0/+3
| | | | llvm-svn: 290656
* Add tests for unordered container tests and std::stringEric Fiselier2016-12-287-15/+570
| | | | llvm-svn: 290655
* Fix __wrap_iter in debug mode and apply _NOEXCEPT_DEBUG to itEric Fiselier2016-12-282-46/+86
| | | | llvm-svn: 290654
* Fix build errors in C++03 caused by recent debug changesEric Fiselier2016-12-282-3/+6
| | | | llvm-svn: 290653
* Fix debug mode build w/o exceptionsEric Fiselier2016-12-283-1/+8
| | | | llvm-svn: 290652
* Implement a throwing version of _LIBCPP_ASSERT.Eric Fiselier2016-12-2814-186/+389
| | | | | | | | | | | | | | | | | | | | | | | | | This patch implements changes to allow _LIBCPP_ASSERT to throw on failure instead of aborting. The main changes needed to do this are: 1. Change _LIBCPP_ASSERT to call a handler via a replacable function pointer instead of calling abort directly. Additionally this patch implements two handler functions, one which aborts and another that throws an exception. 2. Add _NOEXCEPT_DEBUG macro for disabling noexcept spec on function which contain _LIBCPP_ASSERT. This is required in order to prevent assertion failures throwing through a noexcept function. This macro has no effect unless _LIBCPP_DEBUG_USE_EXCEPTIONS is defined. Having a non-aborting _LIBCPP_ASSERT is very important to allow sane testing of debug mode. Currently we can only have one test case per file, since the test case will cause the program to abort. Testing debug mode this way would require thousands of test files, most of which would be 95% boiler plate. I don't think this is a feasible strategy. Fortunately using a throwing debug handler solves these issues. Additionally this patch rewrites the documentation for debug mode. llvm-svn: 290651
* Implement P0435R1 - Resolving LWG issues for common_typeEric Fiselier2016-12-273-14/+197
| | | | llvm-svn: 290627
* Fix PR31481 - 3+ parameter common_type isn't SFINAE friendlyEric Fiselier2016-12-272-8/+28
| | | | llvm-svn: 290624
* [libc++] Make __num_get_float hiddenShoaib Meenai2016-12-242-3/+1
| | | | | | | | | | | It's an internal function and shouldn't be exported. It's also a source of discrepancy in the published ABI list; these symbols aren't exported for me on CentOS 7 or Ubuntu 16.04, leading to spurious check-cxx-abilist failures. Differential Revision: https://reviews.llvm.org/D27153 llvm-svn: 290503
* Fix bug #31387 - not checking end iterator when parsing decimal escape. ↵Marshall Clow2016-12-242-1/+46
| | | | | | Thanks to Karen for the report. llvm-svn: 290500
* Enable -Wunreachable-code and fix duplicate warning flagsEric Fiselier2016-12-243-9/+9
| | | | llvm-svn: 290486
* Fix ASAN test failureEric Fiselier2016-12-241-1/+3
| | | | llvm-svn: 290482
* Fix -Wsign-compare warnings in re tests that only run on OS XEric Fiselier2016-12-247-224/+224
| | | | llvm-svn: 290481
* Fix sign-compare warnings on ARM platforms caused by wchar_t being unsignedEric Fiselier2016-12-241-7/+7
| | | | llvm-svn: 290480
* Avoid unused warning in __throw_future_error w/o exceptions enabledEric Fiselier2016-12-241-0/+1
| | | | llvm-svn: 290479
* Fix warning caused by platforms providing a signed wint_tEric Fiselier2016-12-241-1/+2
| | | | llvm-svn: 290477
* Fix yet another missed -Wunused warning. Hopefully this is the last oneEric Fiselier2016-12-241-7/+8
| | | | llvm-svn: 290476
* Fix unused warning which only triggers in C++11Eric Fiselier2016-12-241-0/+3
| | | | llvm-svn: 290475
* fix warnings only produced by apple-clangEric Fiselier2016-12-248-44/+27
| | | | llvm-svn: 290474
* Fix missed sign-compare warningEric Fiselier2016-12-241-1/+1
| | | | llvm-svn: 290473
* fix newly failing c++03 testsEric Fiselier2016-12-242-3/+8
| | | | llvm-svn: 290472
* Fix another unused warningEric Fiselier2016-12-241-0/+1
| | | | llvm-svn: 290470
* fix sign comparison warningsEric Fiselier2016-12-246-36/+35
| | | | llvm-svn: 290469
* Fix unused parameters and variablesEric Fiselier2016-12-23120-266/+305
| | | | llvm-svn: 290459
* Don't use posix_memalign on Windows platformsEric Fiselier2016-12-231-0/+4
| | | | llvm-svn: 290448
* Fix PR31440: Make __sanitizer_annotate_contigious_container always visible. ↵Eric Fiselier2016-12-231-1/+1
| | | | | | Fix from Jan Beich llvm-svn: 290447
* Update doc and various cleanupEric Fiselier2016-12-234-38/+98
| | | | llvm-svn: 290446
* Add test that _LIBCPP_VERSION matches __libcpp_versionEric Fiselier2016-12-231-0/+28
| | | | llvm-svn: 290445
* Add release update instructions for libc++Eric Fiselier2016-12-231-0/+11
| | | | llvm-svn: 290444
* Update TestingLibcxx doc to reflect the use_system_cxx_lib flag. Patch from ↵Eric Fiselier2016-12-231-3/+3
| | | | | | Michael Park llvm-svn: 290441
* Add apple-clang-8 to list of XFAILS for some variant tests. Patch from ↵Eric Fiselier2016-12-234-4/+4
| | | | | | Michael Park llvm-svn: 290440
* [CMake] Fix issue reported on sanitizer botsChris Bieneman2016-12-171-1/+1
| | | | | | This should resolve an issue reported on the commit thread that impacted sanitizer bots. llvm-svn: 290052
* [CMake] Put headers relative to clangChris Bieneman2016-12-161-10/+6
| | | | | | | | When libcxx isn't building with an installed LLVM we copy the libcxx headers into the LLVM build directory so that a clang in that build tree can find the headers relative to itself. This is only important in situations where you don't have headers installed under /, which is common these days on Darwin. llvm-svn: 289963
* Fix XFAILS for is_trivially_destructible traitEric Fiselier2016-12-152-6/+0
| | | | llvm-svn: 289802
* Fix typoEric Fiselier2016-12-151-1/+1
| | | | llvm-svn: 289781
* Add tests for LWG 2796Eric Fiselier2016-12-152-0/+73
| | | | llvm-svn: 289780
* Add more test cases for PR31384Eric Fiselier2016-12-151-9/+59
| | | | llvm-svn: 289778
* Add test case for PR31384Eric Fiselier2016-12-151-0/+38
| | | | llvm-svn: 289774
* Revert r289727 due to PR31384Eric Fiselier2016-12-156-564/+36
| | | | | | | | This patch reverts the changes to tuple which fixed construction from types derived from tuple. It breaks the code mentioned in llvm.org/PR31384. I'll follow this commit up with a test case. llvm-svn: 289773
* XFAIL test for more apple-clang versionsEric Fiselier2016-12-151-1/+1
| | | | llvm-svn: 289767
* Work around bug in initialization of std::array base class with older clangsEric Fiselier2016-12-142-3/+9
| | | | llvm-svn: 289741
* Fix PR31378 - std::list::remove should not require a default constructible ↵Eric Fiselier2016-12-144-34/+90
| | | | | | | | | | | | allocator. In list::remove we collect the nodes we're removing in a seperate list instance. However we construct this list using the default constructor which default constructs the allocator. However allocators are not required to be default constructible. This patch fixes the construction of the second list. llvm-svn: 289735
* [libcxx] [test] Fix MSVC x64 truncation warnings with 32-bit allocator ↵Stephan T. Lavavej2016-12-144-4/+4
| | | | | | | | | | | | | | | | size_type/difference_type. test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp Iterate with C::size_type because that's what operator[] takes. test/std/containers/sequences/vector/contiguous.pass.cpp test/std/strings/basic.string/string.require/contiguous.pass.cpp Add static_cast<typename C::difference_type> because that's what the iterator's operator+ takes. Fixes D27777. llvm-svn: 289734
OpenPOWER on IntegriCloud