summaryrefslogtreecommitdiffstats
path: root/libcxx
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Update paths in libc++ build instructions. Patch from Jonathan Anderson.Eric Fiselier2015-12-141-2/+2
| | | | llvm-svn: 255561
* Update how libc++/libc++abi link the tests. Follow up on r255559.Eric Fiselier2015-12-141-3/+4
| | | | llvm-svn: 255560
* K-Ballo pointed out a mistake in the add_lvalue_ref tests I checked in; now ↵Marshall Clow2015-12-141-7/+7
| | | | | | more of them are passing. Thanks llvm-svn: 255519
* Missed this on the previous (255517) commitMarshall Clow2015-12-141-0/+49
| | | | llvm-svn: 255518
* Fix a corner case that involved calling rethrow_if_nested with a type that ↵Marshall Clow2015-12-143-53/+10
| | | | | | had a deleted operator&. Added a test to catch this as well. Thanks to Ville for the heads-up. llvm-svn: 255517
* Add add_lvalue_ref tests for a few function types, with a note why not moreMarshall Clow2015-12-141-0/+36
| | | | llvm-svn: 255513
* Replace cmake check for printf with a check for fopen.Evgeniy Stepanov2015-12-101-1/+1
| | | | | | | Printf is a builtin, and the check fails with -Werror because of a clang warning about an incompatible redeclaration. llvm-svn: 255187
* Remove redundant _LIBCPP_ALWAYS_INLINE attribute from __convert_to_integral ↵Eric Fiselier2015-12-101-9/+9
| | | | | | overloads llvm-svn: 255185
* Remove visibility attributes from out-of-class method definitions in iostreams.Evgeniy Stepanov2015-12-094-86/+86
| | | | | | | | | | No point in pretending that these methods are hidden - they are actually exported from libc++.so. Extern template declarations make them part of libc++ ABI. This patch does not change libc++.so export list (at least on Linux). llvm-svn: 255177
* Add 3 more missing inline/visibility attributes.Evgeniy Stepanov2015-12-092-0/+3
| | | | | | | | | These are the cases when an out-of-class definition of a method is marked _LIBCPP_INLINE_VISIBILITY, but the in-class declaration is not. This will start failing when (or if) we switch to attribute((internal_linkage)). llvm-svn: 255166
* Use __make_integer_seq builtin for std::make_integer_sequence. Patch by K-ballo.Eric Fiselier2015-12-096-12/+68
| | | | llvm-svn: 255162
* Cleaned up the intro for the TS status page; really need much more info hereMarshall Clow2015-12-081-3/+3
| | | | llvm-svn: 254971
* [CMake] If you're not installing the libcxx library, exclude it from the ↵Chris Bieneman2015-12-031-3/+10
| | | | | | | | "all" target so it doesn't get built when you run "ninja install" This is just a build dependency optimization. Running check-libcxx will still build libcxx and function as expected, it just removes libcxx from the all build and install targets. llvm-svn: 254628
* Last bit of P0006; mark it as completeMarshall Clow2015-11-303-1/+13
| | | | llvm-svn: 254290
* Fix bugs in alignment_of_v, etc. Re-enable the newly added testsMarshall Clow2015-11-304-19/+19
| | | | llvm-svn: 254289
* Temporarily disable new tests while I figure out what's going onMarshall Clow2015-11-303-19/+19
| | | | llvm-svn: 254288
* Fix bad macrosMarshall Clow2015-11-301-1/+1
| | | | llvm-svn: 254287
* Missing file from last commitMarshall Clow2015-11-301-0/+33
| | | | llvm-svn: 254286
* Implement more of P0006; Type Traits Variable Templates. <ratio>Marshall Clow2015-11-306-54/+120
| | | | llvm-svn: 254285
* Fix bad macros in testsMarshall Clow2015-11-303-5/+5
| | | | llvm-svn: 254284
* Implement more of P0006; Type Traits Variable Templates.Marshall Clow2015-11-307-2/+93
| | | | llvm-svn: 254283
* Add static_assert to set/multiset/map/multimap/forward_list/deque that the ↵Marshall Clow2015-11-2617-0/+252
| | | | | | allocator's value_type match the container's value_type. vector/unordered/list/string already do this. Add tests for all the containers to verify this. llvm-svn: 254119
* Silence a -Wmissing-braces warning in the tests; mbstate_t is defined ↵Marshall Clow2015-11-251-0/+8
| | | | | | differently on different C libraries. llvm-svn: 254050
* Remove undefined behavior from tests; specifically, ensure that the value ↵Marshall Clow2015-11-2414-49/+59
| | | | | | type of the allocators match the value type of the containers llvm-svn: 254030
* Use libcxx's default rune table with the Musl C library.Vasileios Kalintiris2015-11-243-19/+15
| | | | | | | | | | | | | | | | | Summary: Also, there are no exported character type tables from Musl so we have to Fallback to the standard functions. This reduces the number of libcxx's test-suite failures down to ~130 for MIPS. Most of the remaining failures come from the atomics (due to the lack of 8-byte atomic-ops in MIPS32) and thread tests. Reviewers: mclow.lists, EricWF, dalias, jroelofs Subscribers: tberghammer, danalbert, srhines, cfe-commits Differential Revision: http://reviews.llvm.org/D14926 llvm-svn: 253972
* Fix some mistakes in the <utility> and <tuple> synopses. No functional ↵Marshall Clow2015-11-192-11/+11
| | | | | | change. Thannks to K-ballo for the patch llvm-svn: 253593
* Fix some mistakes in the <array> synopsis. No functional change. Thanks to ↵Marshall Clow2015-11-191-5/+5
| | | | | | K-ballo for the patch llvm-svn: 253592
* Fix bad variable name. project_root -> project_obj_rootEric Fiselier2015-11-171-1/+1
| | | | llvm-svn: 253382
* Add tests for the extended integer types - as required by LWG#2119Marshall Clow2015-11-171-0/+40
| | | | llvm-svn: 253376
* Implement P0007: Constant View: A proposal for a std::as_const helper ↵Marshall Clow2015-11-174-1/+77
| | | | | | function template. llvm-svn: 253274
* Fix compile error in test. Can't use `operator[]` for multimap.Marshall Clow2015-11-161-1/+1
| | | | llvm-svn: 253271
* More tests for LWG#2156Marshall Clow2015-11-164-0/+64
| | | | llvm-svn: 253257
* LWG#2156 loosened the requirements on unordered containers 'rehash' calls. ↵Marshall Clow2015-11-165-1/+49
| | | | | | Add tests to make sure we meet these requirements. Since we met the stricter ones, no code change needed to meet the looser ones. llvm-svn: 253223
* Implement P0013R1: Logical Operator Type Traits. Make a hidden ↵Marshall Clow2015-11-165-143/+370
| | | | | | implementation (__and_, __or_, and __not_) so that we can use them elsewhere in non-C++17 code - for example, in the LFTS llvm-svn: 253215
* Mark P0013 as 'in progress'Marshall Clow2015-11-161-1/+1
| | | | llvm-svn: 253212
* Implement P0074: Making owner_less more flexibleMarshall Clow2015-11-123-1/+69
| | | | llvm-svn: 252905
* [libcxx] Fixup a few fumbles in the initial no-exceptions XFAILs list.Asiri Rathnayake2015-11-125-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The initial buildbot run found a few missing bits in the initial XFAIL list for the no-exceptions libc++ variant. These discrepancies are as follows: [1] Following two tests need XFAILs on the no-exceptions library variant. My local runs had these two disabled for other reasons (unsupported): - localization/locales/locale/locale.cons/char_pointer.pass.cpp - numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp [2] These three does not need XFAILs, they were failing on my local runs for other reasons: - depr/depr.c.headers/uchar_h.pass.cpp - input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp - .../category.collate/locale.collate.byname/transform.pass.cpp (these are failing on my box for the default build as well) The current patch fixes both the cases above. Additionally, I've run the following scan to make sure I've covered all the cases: > grep ' catch \| try \| throw ' -R . | perl -pe 's|(.*?):.*|\1|' | sort | \ uniq > 1.txt > grep 'libcpp-no-exceptions' -R . | perl -pe 's|(.*?):.*|\1|' | sort | \ uniq > 2.txt > diff 1.txt 2.txt This showed up a few extra interesting cases: [3] These two tests do not use try/catch/throw statements, but they fail at runtime. Need to be investigated, I've left the XFAILs in. - std/thread/futures/futures.shared_future/dtor.pass.cpp - std/thread/futures/futures.unique_future/dtor.pass.cpp [4] These tests use a macro named TEST_HAS_NO_EXCEPTIONS to conditionally exclude try/catch/throw statements when running without exceptions. I'm not entirely sure why this was needed (AFAIK, we didn't have a no-exceptions library build before). The macro's defintion is quite similar to that of _LIBCPP_NO_EXCEPTIONS. I will investigate if this can be reused for my test fixes or if it should be replaced with _LIBCPP_NO_EXCEPTIONS. - std/experimental/any/* Change-Id: I9ad1e0edd78f305406eaa0ab148b1ab693f7e26a llvm-svn: 252870
* Fix typo I just introduced.Marshall Clow2015-11-101-1/+1
| | | | llvm-svn: 252614
* std:: qualify ptrdiff_t in the test. Thanks to Walter for the catchMarshall Clow2015-11-101-2/+2
| | | | llvm-svn: 252613
* Walter pointed out some missing includes in the tests. Fixing the includes ↵Marshall Clow2015-11-1060-35/+94
| | | | | | uncovered a couple bugs in the _v type traits. Fixed those, too llvm-svn: 252612
* Explicitly #include <utility> so that we get std::move. Thanks to Walter for ↵Marshall Clow2015-11-101-0/+1
| | | | | | the bug report. llvm-svn: 252610
OpenPOWER on IntegriCloud