summaryrefslogtreecommitdiffstats
path: root/libcxx/www
Commit message (Collapse)AuthorAgeFilesLines
...
* Document a known build issue on OS X 10.8 and later.Eric Fiselier2015-05-121-3/+12
| | | | llvm-svn: 237205
* Fix typo in www. NFCJonathan Roelofs2015-05-081-1/+1
| | | | llvm-svn: 236902
* Found a Urbana paper that has library bitsMarshall Clow2015-05-011-1/+2
| | | | llvm-svn: 236356
* Mark LWG#2387 as complete. No code changes neededMarshall Clow2015-04-301-1/+1
| | | | llvm-svn: 236236
* Removed 'complete' from 2408; updated statusMarshall Clow2015-04-281-1/+1
| | | | llvm-svn: 236025
* Update C++17 status; mark issues 2170, 2377, and 2408 as complete. We ↵Marshall Clow2015-04-281-3/+3
| | | | | | already do these; no code changes necessary. llvm-svn: 235992
* [libcxx] Unify LIBCXX_<ABI-Name>_INCLUDE_PATHS to be ↵Eric Fiselier2015-03-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | LIBCXX_CXX_ABI_INCLUDE_PATHS Summary: Clean up all the different possible CMake options for specifying the ABI include paths into one CMake option named `LIBCXX_CXX_ABI_INCLUDE_PATHS`. The documentation has been updated to reflect this change. For the next week I have added explicit errors if any of the old flags is used. These errors inform users of the change and the new option to use. Before committing the change I will announce this change on cfe-dev. Reviewers: danalbert, mclow.lists Reviewed By: danalbert, mclow.lists Subscribers: jroelofs, cbergstrom, cfe-commits Differential Revision: http://reviews.llvm.org/D5039 llvm-svn: 232762
* [libcxx] Add <experimental/tuple> header for LFTS.Eric Fiselier2015-03-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds the `<experimental/tuple>` header (almost) as specified in the latest draft of the library fundamentals TS. The main changes in this patch are: 1. Added variable template `tuple_size_v` 2. Added function `apply(Func &&, Tuple &&)`. 3. Changed `__invoke` to be `_LIBCPP_CONSTEXPR_AFTER_CXX11`. The `apply(...)` implementation uses `__invoke` to invoke the given function. `__invoke` already provides the required functionality. Using `__invoke` also allows `apply` to be used on pointers to member function/objects as an extension. In order to facilitate this `__invoke` has to be marked `constexpr`. Test Plan: Each new feature was tested. The test cases for `tuple_size_v` are as follows: 1. tuple_size_v.pass.cpp - Check `tuple_size_v` on cv qualified tuples, pairs and arrays. 2. tuple_size_v.fail.cpp - Test on reference type. 3. tuple_size_v_2.fail.cpp - Test on non-tuple 4. tuple_size_v_3.fail.cpp - Test on pointer type. The test cases for tuple.apply are as follows: 1. arg_type.pass.cpp - Ensure that ref/pointer/cv qualified types are properly passed. 2. constexpr_types.pass.cpp - Ensure constexpr evaluation of apply is possible for `tuple` and `pair`. 3. extended_types.pass.cpp - Test apply on function types permitted by extension. 4. large_arity.pass.cpp - Test that apply can evaluated on tuples and arrays with large sizes. 5. ref_qualifiers.pass.cpp - Test that apply respects ref qualified functions. 6. return_type.pass.cpp - Test that apply returns the proper type. 7. types.pass.cpp - Test apply on function types as required by LFTS. Reviewers: mclow.lists Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4512 llvm-svn: 232515
* [libcxx] Tired of colorless compile errors? Enable color diagnostics today!Eric Fiselier2015-02-181-0/+10
| | | | | | | | | | | | | | | | | | | Summary: This patch adds a lit option to enable color diagnostics when either `--param=color_diagnostics` is passed to LIT or `LIBCXX_COLOR_DIAGNOSTICS` is present in the environment. My only concern with this patch is that GCC and Clang take different flags and that only GCC 4.9 and greater support `-fdiagnostics-color=always` Does anybody have objections to this going in? Reviewers: jroelofs, danalbert Reviewed By: danalbert Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D7729 llvm-svn: 229707
* Enable testing with _LIBCPP_DEBUG and fix bad assertions in string_view.Eric Fiselier2015-02-181-0/+9
| | | | llvm-svn: 229698
* Mark <experimental/system_error> as completeEric Fiselier2015-02-031-1/+1
| | | | llvm-svn: 227974
* Update LFTS status pageEric Fiselier2015-02-021-9/+8
| | | | llvm-svn: 227862
* Update web page to direct patches to Phabricator.Dan Albert2015-01-301-17/+17
| | | | llvm-svn: 227629
* [libcxx] Allow use of ShTest in libc++ tests along with other changes.Eric Fiselier2015-01-221-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch allows the use of LIT's ShTest format in the libc++ test suite. ShTests have the suffix '.sh.cpp'. It also introduces a series of other changes. These changes are: - More functionality including parsing test metadata has been moved into LIT. - LibcxxTestFormat now supports multi-part suffixes. - the `CXXCompiler` functionality has been used to shrink the size of LibcxxTestFormat. - The recursive loading of the site config has been turned into `libcxx.test.config.loadSiteConfig` so it can be used with libc++abi. - Temporary files are now created in the build directory of libc++. This follows how it is down in ShTest. - `not.py` was added as a utility executable that mirrors the functionality of LLVM's `not` executable. - The first ShTest test was added under test/libcxx/double_include.sh.cpp Reviewers: jroelofs, danalbert Reviewed By: danalbert Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D7073 llvm-svn: 226844
* Add 'no_default_flags' option for turning off all default test compile and ↵Eric Fiselier2015-01-161-0/+10
| | | | | | | | | | | | | | link flags. When 'no_default_flags' is true only flags passed using '--param=compile_flags' and '--param=link_flags' will be used when compiling the tests. This option can be used to run the test suite against libstdc++ and helps with all unusual test suite configurations. NOTE: sanitizer flags are still added when '--param=use_sanitizer' is used even if '--param=no_default_flags' is given. llvm-svn: 226322
* [libcxx] Add numerous options to libc++ LIT test suite configuration. Eric Fiselier2014-12-222-0/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: In order to fully replace the testit script we need to update LIT so it provides the same functionality. This patch adds a number of different configuration options to LIT to do that. It also adds documentation for all of the command line parameters that LIT supports. Generic options added: - `libcxx_headers` - `libcxx_library` - `compile_flags` Generic options modified: - `link_flags`: Changed from overriding the default args to adding extra args instead (to match compile flags) - `use_sanitizer`: Renamed from `llvm_use_sanitizer` Please see the added documentation for more information about the switches. As for the actual documentation I'm not sure if it should be kept in libc++ forever since it adds an undue maintenance burden, but I think it should be added for the time being while the changes are new. I'm verify unskilled with HTML so if the documentation needs any changes please let me know. Hopefully this will kill testit. Reviewers: jroelofs, mclow.lists, danalbert Reviewed By: danalbert Subscribers: alexfh, cfe-commits Differential Revision: http://reviews.llvm.org/D5877 llvm-svn: 224728
* [libcxx] Teach libcxx's lit configuration new ways to find lit.site.cfgEric Fiselier2014-12-201-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Currently to run tests in tree you need to symlink the lit.site.cfg file generated by the cmake build into the source tree, and teach your VCS to ignore it. This allows the user to specify where to find the lit.site.cfg file two different ways: * lit_site_config lit parameter * LIT_SITE_CONFIG enviroment variable. example usage: ``` lit -sv --param=libcxx_site_config=path/to/libcxx-build/test/lit.site.cfg path/to/tests ``` Or ``` export LIBCXX_SITE_CONFIG=path/to/libcxx-build/test/lit.site.cfg lit -sv path/to/tests ``` The command line parameter will override the environment variable. If neither options are present a warning is issued and the `lit.cfg` file is loaded directly. Reviewers: mclow.lists, jroelofs, danalbert Reviewed By: danalbert Subscribers: ddunbar, cfe-commits Differential Revision: http://reviews.llvm.org/D6255 llvm-svn: 224671
* Implement LWG 2217 - operator==(sub_match, string) slices on embedded '\0'sMarshall Clow2014-12-151-1/+1
| | | | llvm-svn: 224292
* Update information on where to find buildbots. Remove dead buildbot links.Eric Fiselier2014-12-091-11/+5
| | | | llvm-svn: 223848
* Implement N4280 - 'Non-member size() and more'Marshall Clow2014-11-191-6/+6
| | | | llvm-svn: 222378
* Added entries for bugs 2118 and 2306, which were closed in UrbanaMarshall Clow2014-11-191-0/+2
| | | | llvm-svn: 222361
* Marked LWG 2399 as complete. I committed a test for this earlier today.Marshall Clow2014-11-181-4/+4
| | | | llvm-svn: 222251
* Update status of LWG issues 2340, 2396 and 2401. In all three cases, these ↵Marshall Clow2014-11-181-3/+3
| | | | | | are things that we already do. llvm-svn: 222240
* Implement LWG2400 - 'shared_ptr's get_deleter() should use addressof()', and ↵Marshall Clow2014-11-171-2/+2
| | | | | | add tests. Mark LWG2400 and LWG2404 as complete llvm-svn: 222161
* Implement void_t from N3911. Add a private version for use in the library ↵Marshall Clow2014-11-171-10/+10
| | | | | | before C++1z. Update the 1z status page, marking a bunch of issues that don't require library changes as complete (2129, 2212, 2230, 2233, 2325, 2365, 2376) llvm-svn: 222138
* Fixed a typo in a paper name: 4190 --> N4190Marshall Clow2014-11-111-1/+1
| | | | llvm-svn: 221690
* Update status pages for C++1zMarshall Clow2014-11-103-5/+127
| | | | llvm-svn: 221601
* Remove dead buildbot linkEric Fiselier2014-10-211-3/+0
| | | | llvm-svn: 220260
* [libcxx] Redo adding support for building and testing with an ABI library ↵Eric Fiselier2014-10-191-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | not along linker paths Summary: This is the second attempt at allowing for the use of libraries that the linker cannot find. The first attempt used `CMAKE_LIBRARY_PATH` and `find_library` to select which ABI library should be used. There were a number of problems with this approach: - `find_library` didn't work with cmake targets (ie in-tree libcxxabi build) - It wasn't always possible to determine where `find_library` actually found your library. - `target_link_libraries` inserted the path of the ABI library into libc++'s RPATH when `find_library` was used. - Linking libc++ and it's ABI library is a special case. It's a lot easier to keep it simple. After discussion with @cbergstrum a new approach was decided upon. This patch achieve the same ends by simply using `LIBCXX_CXX_ABI_LIBRARY_PATH` to specify where to find the library (if the linker won't find it). When this variable is defined it is simply added as a library search path when linking libc++. It is a lot easier to duplicate this behavior in LIT. It also prevents libc++ from being linked with an RPATH. Reviewers: mclow.lists, cbergstrom, chandlerc, danalbert Reviewed By: chandlerc, danalbert Subscribers: chandlerc, cfe-commits Differential Revision: http://reviews.llvm.org/D5860 llvm-svn: 220157
* [libcxx] Add support for building and testing with an ABI library not along ↵Eric Fiselier2014-10-181-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | linker paths Summary: This patch adds support for building/testing libc++ with an ABI library that the linker would not normally find. - `CMAKE_LIBRARY_PATH` is used to specify the list of search directories. - The ABI library is now found using `find_library` instead of assuming its along the linker's search path. - `CMAKE_LIBRARY_PATH` is passed to our LIT config as `library_paths`. - For each path in `library_paths` the following flags are added `-L<path> -Wl,-rpath -Wl,<path>` Some changes in existing behavior were also added: - `target_link_libraries` is now passed the ABI library file instead of the library name. Ex `target_link_libraries(cxx "/usr/lib/libc++abi.so")` vs `target_link_libraries(cxx "c++abi")`. - `-Wl,-rpath -Wl,<path>` is now used on OSX to link to libc++ instead of env['DYLD_LIBRARY_PATH'] if `use_system_lib=False`. Reviewers: mclow.lists, danalbert, EricWF Reviewed By: EricWF Subscribers: emaste, cfe-commits Differential Revision: http://reviews.llvm.org/D5038 llvm-svn: 220118
* Fix bad link in documentation. Thanks to rsmithEric Fiselier2014-10-161-1/+1
| | | | llvm-svn: 219898
* Add my buildbot to list of libc++ buildbots in documentationEric Fiselier2014-10-161-0/+3
| | | | llvm-svn: 219894
* Update linux test resultsEric Fiselier2014-08-181-81/+492
| | | | llvm-svn: 215884
* [libcxx] Add list of currently known buildbots to libc++ homepageEric Fiselier2014-08-181-0/+19
| | | | | | | | | | | | | | | | Summary: Instead of having to update test results for different platforms it would be helpful to just supply links to buildbots that build+test libcxx. For the FreeBSD bots Pawel Worach gave me the OK to link to them. Reviewers: mclow.lists, danalbert Reviewed By: danalbert Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4947 llvm-svn: 215882
* Update libc++ docs to include instructions for LIT.Dan Albert2014-08-111-80/+133
| | | | | | | | | | | | | | | | | | | Okay, so this actually does more than just that. I've rearranged most of the information on the page to try to make it more helpful and flow better. Essentially, the differences between Mac and Linux, the various ABI libraries, and in-tree versus out-of-tree builds were cluttering things. To clean up, I've done the following: * Only describe the cmake process. buildit doesn't work out of the box on Linux, and we need to stop having duplicates for every process. * Use libc++abi for the default instructions. This works on the major platforms. * Describe both in-tree and out-of-tree builds. Previously it wasn't clear that in-tree builds were even possible for libc++. * Separate the documentation about using libc++ from that about building and testing libc++. llvm-svn: 215358
* Adding ABI information to linux test resultsEric Fiselier2014-08-011-0/+1
| | | | llvm-svn: 214484
* Update information about compiler used during linux tests and reformat run ↵Eric Fiselier2014-08-011-5/+10
| | | | | | information. llvm-svn: 214483
* Update linux test results fileEric Fiselier2014-08-011-39/+13
| | | | llvm-svn: 214474
* [libcxx] Add <experimental/utility> header for LFTS. Eric Fiselier2014-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds the `<experimental/utility>` header as specified in the latest draft of the library fundamentals TS. `<experimental/utility>` only contains `class erased_type`. This patch also updates the documentation to list the `erased_type` class as "initial implementation complete". Test Plan: Three test cases where added: 1. Test that `_LIBCPP_VERSION` is defined. 2. Test that `<utility>` has been included. 3. Test that `erased_type` is in the correct namespace and is constexpr default constructible. Reviewers: mclow.lists Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4510 llvm-svn: 213226
* Fixed damaged row in issues table; thanks to STL for the catchMarshall Clow2014-06-091-1/+1
| | | | llvm-svn: 210500
* Add a note about debug mode being non-functionalMarshall Clow2014-06-041-0/+6
| | | | llvm-svn: 210162
* First cut at a post c++14 status pageMarshall Clow2014-06-022-0/+91
| | | | llvm-svn: 210056
* Removed 'sized deallocation' from C++14 status page since it turned out to ↵Marshall Clow2014-04-072-2/+1
| | | | | | require no library work, and fixed a typo in index.html. Thanks to Tobias for pointing these out. llvm-svn: 205700
* Add a section about reporting bugs and contributing patchesMarshall Clow2014-04-031-0/+17
| | | | llvm-svn: 205507
* Reword C++14 status to match C++11 statusMarshall Clow2014-04-031-1/+1
| | | | llvm-svn: 205505
* Mark C++14 status as 'complete'Marshall Clow2014-04-031-3/+2
| | | | llvm-svn: 205504
* Implement LWG issue #2135. If something goes wrong in ↵Marshall Clow2014-03-261-1/+1
| | | | | | condition_variable::wait, call terminate() rather than throwing an error. Do this indirectly, by marking the call as 'noexcept'. This is better than just calling terminate() directly, because it gives a better error message on the console. llvm-svn: 204778
* Mark LWG issues #2075 and #2142 as complete. 2142 was a change to the standardMarshall Clow2014-03-251-3/+3
| | | | | | | | to remove redundant wording, which required no changes to libc++. 2075 was a rewrite of the requirements for forward progress, and again, requires no changes to the library. llvm-svn: 204724
* Add a test to make sure we're doing the right thing for throwing exceptions ↵Marshall Clow2014-03-241-1/+1
| | | | | | from deferred functions. This is LWG issue #2186. No change to the library needed. llvm-svn: 204678
* Mark LWG Issue #2288 as complete. This was wording cleanup, no code changes ↵Marshall Clow2014-03-241-3/+3
| | | | | | | | | | | | required. Also mark #2104 as complete. Leave the implementation in libc++ as noexcept, since implementations are allowed to add noexcept to non-virtual calls. If we throw from unique_lock& operator=(unique_lock&& u), then that means the preconditions were violated, and calling terminate() (as a result of throwing from a noexcept function) is as good example of undefined behavior as any other. llvm-svn: 204653
OpenPOWER on IntegriCloud