summaryrefslogtreecommitdiffstats
path: root/libcxx/test/support/test_macros.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement P0163r0. Add shared_ptr::weak_type.Eric Fiselier2016-06-271-1/+1
| | | | | | | | | | This patch adds the weak_type typedef in shared_ptr. It is available in C++17 and newer. This patch also updates the _LIBCPP_STD_VER and TEST_STD_VER macros to have the value of 16, since 2016 is the current year. llvm-svn: 273839
* Add [[noreturn]] attribute to throw_bad_alloc_helper().Eric Fiselier2016-06-261-0/+6
| | | | llvm-svn: 273819
* Use correct Clang feature names. I got them wrong in the previous commitEric Fiselier2016-06-221-2/+2
| | | | llvm-svn: 273384
* Support old GCC exception and rtti detection macrosEric Fiselier2016-06-221-2/+4
| | | | llvm-svn: 273383
* Fix exception/rtti detection in tests.Eric Fiselier2016-06-221-2/+2
| | | | | | | | | | So the macros TEST_HAS_NO_EXCEPTIONS and TEST_HAS_NO_RTTI were always getting defined because I spelt __cpp_exceptions and __cpp_rtti as __cxx_exceptions and __cxx_rtti. Tests incoming after this patch. llvm-svn: 273381
* Add Filesystem TS -- CompleteEric Fiselier2016-06-171-0/+17
| | | | | | | | | | | | | | Add the completed std::experimental::filesystem implementation and tests. The implementation supports C++11 or newer. The TS is built as part of 'libc++experimental.a'. Users of the TS need to manually link this library. Building and testing the TS can be disabled using the CMake option '-DLIBCXX_ENABLE_FILESYSTEM=OFF'. Currently 'libc++experimental.a' is not installed by default. To turn on the installation of the library use '-DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=ON'. llvm-svn: 273034
* Replace __cplusplus comparisons and dialect __has_feature checks with ↵Eric Fiselier2016-06-141-0/+2
| | | | | | | | | TEST_STD_VER. This is a huge cleanup that helps make the libc++ test suite more portable. Patch from STL@microsoft.com. Thanks STL! llvm-svn: 272716
* Remove C++11 feature macros in tests. Use TEST_STD_VER instead.Eric Fiselier2016-05-161-6/+0
| | | | llvm-svn: 269669
* Guard libc++ specific c.__invariants() tests in LIBCPP_ASSERT macrosEric Fiselier2016-04-281-27/+11
| | | | llvm-svn: 267947
* Fix some non-standard parts of our test suite. Reported by STLEric Fiselier2016-04-221-0/+6
| | | | llvm-svn: 267131
* Use __make_integer_seq builtin for std::make_integer_sequence. Patch by K-ballo.Eric Fiselier2015-12-091-0/+6
| | | | llvm-svn: 255162
* Attempt to prevent flaky thread.mutex tests by once again increasing timing ↵Eric Fiselier2015-10-011-0/+5
| | | | | | tolerances llvm-svn: 248993
* [libcxx] Allow use of <atomic> in C++03. Try 3.Eric Fiselier2015-08-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | Summary: After putting this question up on cfe-dev I have decided that it would be best to allow the use of `<atomic>` in C++03. Although static initialization is a concern the syntax required to get it is C++11 only. Meaning that C++11 constant static initialization cannot silently break in C++03, it will always cause a syntax error. Furthermore `ATOMIC_VAR_INIT` and `ATOMIC_FLAG_INIT` remain defined in C++03 even though they cannot be used because C++03 usages will cause better error messages. The main change in this patch is to replace `__has_feature(cxx_atomic)`, which only returns true when C++ >= 11, to `__has_extension(c_atomic)` which returns true whenever clang supports the required atomic builtins. This patch adds the following macros: * `_LIBCPP_HAS_C_ATOMIC_IMP` - Defined on clang versions which provide the C `_Atomic` keyword. * `_LIBCPP_HAS_GCC_ATOMIC_IMP` - Defined on GCC > 4.7. We must use the fallback atomic implementation. * `_LIBCPP_HAS_NO_ATOMIC_HEADER` - Defined when it is not safe to include `<atomic>`. `_LIBCPP_HAS_C_ATOMIC_IMP` and `_LIBCPP_HAS_GCC_ATOMIC_IMP` are mutually exclusive, only one should be defined. If neither is defined then `<atomic>` is not implemented and including `<atomic>` will issue an error. Reviewers: chandlerc, jroelofs, mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D11555 llvm-svn: 245463
* [libcxx] Add <experimental/any> v2.Eric Fiselier2015-07-311-0/+14
| | | | | | | | | | | | | | | | Summary: This patch adds the second revision of <experimental/any>. I've been working from the LFTS draft found at this link. https://rawgit.com/cplusplus/fundamentals-ts/v1/fundamentals-ts.html#any Reviewers: danalbert, jroelofs, K-ballo, mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D6762 llvm-svn: 243728
* Add test macros header to remove dependance on __config macros.Eric Fiselier2015-05-271-0/+83
llvm-svn: 238267
OpenPOWER on IntegriCloud