summaryrefslogtreecommitdiffstats
path: root/libcxx
Commit message (Collapse)AuthorAgeFilesLines
* Use TEST_STD_VER instead of __has_feature to detect noexcept. This fixes the ↵Eric Fiselier2016-01-201-2/+3
| | | | | | test with GCC. llvm-svn: 258292
* More string fixes for noexcept cases. Apparently I didn't get them all in ↵Marshall Clow2016-01-205-1/+9
| | | | | | r258281. llvm-svn: 258291
* Mark some test XFAIL for GCC 4.9 due to missing is_trivial* traitsEric Fiselier2016-01-2012-3/+39
| | | | llvm-svn: 258287
* Got the test backwards in r258279. Fixed that and de-tabbedMarshall Clow2016-01-201-166/+166
| | | | llvm-svn: 258281
* Fix up the tests I added for string exceptions to be skipped when exceptions ↵Marshall Clow2016-01-205-0/+29
| | | | | | are disabled llvm-svn: 258279
* Add link to 3rd party GDB pretty-printersEric Fiselier2016-01-201-0/+13
| | | | llvm-svn: 258270
* Fix enviroment variables when running shell scriptsEric Fiselier2016-01-191-1/+1
| | | | llvm-svn: 258217
* Add more missing license headersEric Fiselier2016-01-1911-0/+95
| | | | llvm-svn: 258198
* Add missing license headersEric Fiselier2016-01-1917-0/+148
| | | | llvm-svn: 258196
* Mark slow ASAN/MSAN tests as XFAIL for now.Eric Fiselier2016-01-193-0/+10
| | | | llvm-svn: 258195
* Fix PR#26175. Thanks to Josh Petrie for the report and the patch. Reviewed ↵Marshall Clow2016-01-192-0/+4
| | | | | | as http://reviews.llvm.org/D16262 llvm-svn: 258107
* Tame a -Wunknown-attributes warningJonathan Roelofs2016-01-131-1/+1
| | | | llvm-svn: 257707
* Better comments in test. NFCMarshall Clow2016-01-131-2/+3
| | | | llvm-svn: 257702
* Fix test for C++03 - lacking noexceptMarshall Clow2016-01-131-0/+4
| | | | llvm-svn: 257696
* Fix PR#25973 : 'basic_string::assign(InputIt, InputIt) doesn't provide the ↵Marshall Clow2016-01-1343-112/+771
| | | | | | strong exception safety guarantee'. This turned out to be a pervasive problem in <string>, which required a fair amount of rework. Add in an optimization for when iterators provide noexcept increment/comparison/assignment/dereference (which covers many of the iterators in libc++). Reviewed as http://reviews.llvm.org/D15862 llvm-svn: 257682
* Update version to 3.9Hans Wennborg2016-01-131-1/+1
| | | | llvm-svn: 257629
* [WebAssembly] Set std::numeric_limits's traps field for WebAssembly.Dan Gohman2016-01-132-2/+4
| | | | | | | WebAssembly's integer division instruction traps on division by zero; set the traps field of integral std::numeric_limits to true. llvm-svn: 257612
* One more missing std:: qualification from JonathanMarshall Clow2016-01-121-1/+2
| | | | llvm-svn: 257506
* Add a bunch of missing includes in the test suite to make it more portable. ↵Marshall Clow2016-01-1259-116/+175
| | | | | | Fixes bugs #26120 and #26121. Thanks to Jonathan Wakely for the reports and the patches. llvm-svn: 257474
* Put the definition of _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK in the ↵Marshall Clow2016-01-121-5/+5
| | | | | | right place. llvm-svn: 257422
* Preemptively disable unsigned integer sanitization in 32 and 64 bit versions ↵Marshall Clow2016-01-112-2/+11
| | | | | | of __murmur2_or_cityhash. This lets people use the unsigned integer overflow checker in UBSAN w/o getting hits from libc++'s hash code (where the unsigned integer overflow is legal and deliberate)> Patch by @danielaustin. Reviewed as: http://reviews.llvm.org/D15973 llvm-svn: 257368
* Revert "Remove visibility attributes from out-of-class method definitions in ↵Evgeniy Stepanov2016-01-084-86/+86
| | | | | | iostreams." llvm-svn: 257193
* [libcxx] Set LC_ALL rather than LC_COLLATE to override collation.Ahmed Bougacha2016-01-071-1/+1
| | | | | | | r251131 replaced LANG with LC_COLLATE. But LC_ALL has precedence over both, so the test still fails when LC_ALL=C. llvm-svn: 257018
* Add explicit include directives; the file was getting implicitly included ↵Marshall Clow2016-01-054-0/+4
| | | | | | already. NFC llvm-svn: 256864
* Remove some test scaffolding that I added and then didn't need. No ↵Marshall Clow2016-01-051-29/+0
| | | | | | functional change llvm-svn: 256861
* First half of LWG#2354: 'Unnecessary copying when inserting into maps with ↵Marshall Clow2016-01-057-4/+235
| | | | | | braced-init syntax' llvm-svn: 256859
* [libcxx] Fix typo in darwin target_info.py introduced by r256621.Ahmed Bougacha2016-01-041-1/+1
| | | | llvm-svn: 256772
* Print stacktrace with UBSANEric Fiselier2016-01-041-0/+1
| | | | llvm-svn: 256729
* Remove unsafe "__as_link()" cast member function.Eric Fiselier2016-01-041-27/+53
| | | | | | | | | | | "__as_link()" can only be used safely on "__list_node" objects. This patch moves the "__as_link()" member function from "__list_node_base" to "__list_node" so it cannot be used incorrectly. Unsafe downcasts now use a non-member function so we don't defer the type-punned pointer. llvm-svn: 256727
* Use __rebind_pointer to avoid #ifdef blockEric Fiselier2015-12-306-202/+46
| | | | llvm-svn: 256654
* [libcxx] Fix for ALL undefined behavior in <list>.Eric Fiselier2015-12-302-129/+165
| | | | | | | | | | | | | | Summary: This patch fixes std::list for builtin pointer types in the current ABI version and fixes std::list for all fancy pointer types in the next ABI version. The patch was designed to minimize the amount of code needed to support both ABI configurations. Currently only ~5 lines of code differ. Reviewers: danalbert, jroelofs, mclow.lists Subscribers: dexonsmith, awi, cfe-commits Differential Revision: http://reviews.llvm.org/D12299 llvm-svn: 256652
* Fix locale feature testing in test suite.Eric Fiselier2015-12-301-8/+28
| | | | llvm-svn: 256621
* Revert r256606 due to compiler-rt sanitizer bot failuresEric Fiselier2015-12-302-48/+27
| | | | llvm-svn: 256614
* Cleanup CMake for out-of-tree buildsEric Fiselier2015-12-302-27/+48
| | | | llvm-svn: 256606
* Fix test failure in 32 bit modeEric Fiselier2015-12-291-4/+78
| | | | llvm-svn: 256598
* Mark LWG defect #2367 as completeEric Fiselier2015-12-291-1/+1
| | | | llvm-svn: 256597
* [libcxx] Fixing the Mac / Darwin buildBen Craig2015-12-291-0/+1
| | | | llvm-svn: 256594
* [libcxx] Fixing silly mistake from last commit.Ben Craig2015-12-291-1/+1
| | | | | | Tested on Linux x86_64 targeting Linux x86_64. llvm-svn: 256592
* [libcxx] Fixing the Linux sanitizer buildsBen Craig2015-12-291-1/+2
| | | | llvm-svn: 256591
* [libcxx] Refactoring target_info.pyBen Craig2015-12-292-182/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes it easier to support running the lit tests for new and unusual platforms. It will break existing users that set LIBCXX_TARGET_INFO to anything other than the default. I think this is fine, because the old LIBCXX_TARGET_INFO wasn't terribly useful. The old way of supporting the different test platforms was to have conditional code scattered throughout config.py. New platforms would need to add conditionals there. Alternatively, the new platform could set no_default_flags to true, and reconstitue almost the entire compile and link line, including things that don't vary across platforms. The new way of supporting new platforms is to create a new target info class, and have make_target_info return an instance of it. For platforms supported in-tree, that will be done by modifying make_target_info. For out-of-tree platforms, users can set LIBCXX_TARGET_INFO at cmake configure time. The target info sub-classes can provide fine-grained information back to config.py. The hooks that will most commonly be provided will be add_cxx_compile_flags and add_cxx_link_flags. These hooks can provide the platform specific flags, while letting config.py handle all the invariant flags. Target info hooks were added for each area that the existing config.py had platform specific behavior. config.py is now mostly free of platform specific conditionals. This patch was tested on Linux x86_64. I both targeted Linux x86_64, and an out-of-tree platform with a custom target_info. In both cases I was able to run libcxx and libcxxabi tests. I do not have access to FreeBSD, Darwin, or Windows machines that are set up for lit testing. llvm-svn: 256588
* [libcxx] Fix LWG Issue #2367 - Fixing std::tuple and std::pair's default ↵Eric Fiselier2015-12-234-9/+189
| | | | | | | | | | | | | | constructors. Summary: This patch implements the solution for LWG Issue #2367. See http://cplusplus.github.io/LWG/lwg-active.html#2367 Reviewers: mclow.lists, EricWF Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D13750 llvm-svn: 256325
* Fix type in tuple test. Sorry for the noiseEric Fiselier2015-12-181-2/+2
| | | | llvm-svn: 255944
* [libcxx] LWG2485: get() should be overloaded for const tuple&&. Patch from ↵Eric Fiselier2015-12-1811-14/+420
| | | | | | | K-Ballo. Review: http://reviews.llvm.org/D14839 llvm-svn: 255941
* Add CMake option LIBCXX_CONFIGURE_IDE to allow for other IDE's.Eric Fiselier2015-12-162-2/+8
| | | | | | CLion needs similar configuration changes as MSVC_IDE and XCODE. llvm-svn: 255851
* Make noexcept specifications on __hash_table definitions match their ↵Eric Fiselier2015-12-161-0/+2
| | | | | | declarations. llvm-svn: 255738
* Workaround nasty GCC bug that caused testsuite to hangEric Fiselier2015-12-161-1/+3
| | | | llvm-svn: 255734
* Remove unused _LIBCPP_HAS_NO_ALWAYS_INLINE_VARIADICS macroEric Fiselier2015-12-151-4/+0
| | | | llvm-svn: 255686
* [libcxx] Enable noexcept for GCC 4.6 and greaterEric Fiselier2015-12-151-19/+15
| | | | | | | | | | | | | | | | Summary: This patch allows GCC 4.6 and above to use `noexcept` as opposed to `throw()`. Is it an ABI safe change to suddenly switch on `noexcept`? I imagine it must be because it's disabled in w/ clang in C++03 but not C++11. Reviewers: danalbert, jroelofs, mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15516 llvm-svn: 255683
* Mark declarations of externally instantiated functions as inline so GCC ↵Eric Fiselier2015-12-151-2/+2
| | | | | | doesn't complain. llvm-svn: 255599
* Fix various GCC mis-configurations for newer versions.Eric Fiselier2015-12-154-9/+16
| | | | | | | | | | | | This patch goes through and enables C++11 and C++14 features for newer GCC's. The main changes are: 1. Turn on variable templates. (Uses __cpp_variable_templates) 2. Assert atomic<Tp> is trivially copyable (Uses _GNUC_VER >= 501). 3. Turn on trailing return support for GCC. (Uses _GNUC_VER >= 404) 4. XFAIL void_t test for GCC 5.1 and 5.2. Fixed in GCC 6. llvm-svn: 255585
OpenPOWER on IntegriCloud