Marshall Clow
e8584ca3ad
Added entries for bugs 2118 and 2306, which were closed in Urbana
...
llvm-svn: 222361
2014-11-19 15:59:16 +00:00
Marshall Clow
90ba6230a3
Marked LWG 2399 as complete. I committed a test for this earlier today.
...
llvm-svn: 222251
2014-11-18 20:37:47 +00:00
Marshall Clow
f127a2d77f
Update status of LWG issues 2340, 2396 and 2401. In all three cases, these are things that we already do.
...
llvm-svn: 222240
2014-11-18 17:35:16 +00:00
Marshall Clow
278ddec22c
Implement LWG2400 - 'shared_ptr's get_deleter() should use addressof()', and add tests. Mark LWG2400 and LWG2404 as complete
...
llvm-svn: 222161
2014-11-17 19:05:50 +00:00
Marshall Clow
3687d3c2e9
Implement void_t from N3911. Add a private version for use in the library 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
2014-11-17 15:50:08 +00:00
Marshall Clow
f1ce9c177f
Fixed a typo in a paper name: 4190 --> N4190
...
llvm-svn: 221690
2014-11-11 16:45:50 +00:00
Marshall Clow
68640684e8
Update status pages for C++1z
...
llvm-svn: 221601
2014-11-10 15:43:20 +00:00
Eric Fiselier
d5a55037e1
Remove dead buildbot link
...
llvm-svn: 220260
2014-10-21 02:46:31 +00:00
Eric Fiselier
a63c149ceb
[libcxx] Redo adding support for building and testing with an ABI library 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
2014-10-19 00:42:41 +00:00
Eric Fiselier
6f9da55c0f
[libcxx] Add support for building and testing with an ABI library not along 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
2014-10-18 01:15:17 +00:00
Eric Fiselier
ce842e8c4a
Fix bad link in documentation. Thanks to rsmith
...
llvm-svn: 219898
2014-10-16 03:15:31 +00:00
Eric Fiselier
8c5bc1cb5f
Add my buildbot to list of libc++ buildbots in documentation
...
llvm-svn: 219894
2014-10-16 02:48:59 +00:00
Eric Fiselier
8f2a62ed6b
Update linux test results
...
llvm-svn: 215884
2014-08-18 06:53:30 +00:00
Eric Fiselier
cd6ac3a3a7
[libcxx] Add list of currently known buildbots to libc++ homepage
...
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
2014-08-18 05:25:04 +00:00
Dan Albert
ec4de787e2
Update libc++ docs to include instructions for LIT.
...
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
2014-08-11 15:12:46 +00:00
Eric Fiselier
58fab766e6
Adding ABI information to linux test results
...
llvm-svn: 214484
2014-08-01 06:30:18 +00:00
Eric Fiselier
ae9acb8273
Update information about compiler used during linux tests and reformat run information.
...
llvm-svn: 214483
2014-08-01 06:27:40 +00:00
Eric Fiselier
9cd8ed4e23
Update linux test results file
...
llvm-svn: 214474
2014-08-01 01:59:09 +00:00
Eric Fiselier
531d8b2bc4
[libcxx] Add <experimental/utility> header for LFTS.
...
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
2014-07-17 05:31:31 +00:00
Marshall Clow
cd68ae3f10
Fixed damaged row in issues table; thanks to STL for the catch
...
llvm-svn: 210500
2014-06-09 23:27:27 +00:00
Marshall Clow
425f00817c
Add a note about debug mode being non-functional
...
llvm-svn: 210162
2014-06-04 04:49:49 +00:00
Marshall Clow
f39d914d33
First cut at a post c++14 status page
...
llvm-svn: 210056
2014-06-02 23:37:13 +00:00
Marshall Clow
5cf03ab4b7
Removed 'sized deallocation' from C++14 status page since it turned out to require no library work, and fixed a typo in index.html. Thanks to Tobias for pointing these out.
...
llvm-svn: 205700
2014-04-07 07:28:33 +00:00
Marshall Clow
17c6aa0f53
Add a section about reporting bugs and contributing patches
...
llvm-svn: 205507
2014-04-03 03:13:12 +00:00
Marshall Clow
079402d1c1
Reword C++14 status to match C++11 status
...
llvm-svn: 205505
2014-04-03 02:38:12 +00:00
Marshall Clow
ca6e366d07
Mark C++14 status as 'complete'
...
llvm-svn: 205504
2014-04-03 02:35:29 +00:00
Marshall Clow
1641a7c1cb
Implement LWG issue #2135 . If something goes wrong in 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
2014-03-26 02:45:04 +00:00
Marshall Clow
b43399842f
Mark LWG issues #2075 and #2142 as complete. 2142 was a change to the standard
...
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
2014-03-25 14:57:05 +00:00
Marshall Clow
4fdb070817
Add a test to make sure we're doing the right thing for throwing exceptions from deferred functions. This is LWG issue #2186 . No change to the library needed.
...
llvm-svn: 204678
2014-03-24 22:25:24 +00:00
Marshall Clow
e2db85a968
Mark LWG Issue #2288 as complete. This was wording cleanup, no code changes 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
2014-03-24 18:38:01 +00:00
David Majnemer
7ec93f9b1c
Implement N3891: A proposal to rename shared_mutex to shared_timed_mutex
...
This is as straightforward as it sounds, a renamed from shared_mutex to
shared_timed_mutex.
Note that libcxx .dylib and .so files built with c++14 support need to
be rebuilt.
llvm-svn: 204078
2014-03-17 20:19:44 +00:00
Marshall Clow
98de59157c
Remove Issue #2235 from the Chicago section. The resolution was approved in Bristol (and it is listed there), and then is was approved *again* in Chicago. Thanks to STL @ microsoft for the catch
...
llvm-svn: 203995
2014-03-15 01:55:31 +00:00
Marshall Clow
ef3d680093
Implement LWG 2360: 'reverse_iterator::operator*() is unimplementable'. Note that this is a (small) behavior change in the library. Reverse iterators whose base iterators' operator* return references to 'within themselves' have been sacrificed to the greater goal of avoiding data races.
...
llvm-svn: 203587
2014-03-11 17:16:17 +00:00
Marshall Clow
ed94639ea1
Mark LWG #2314 . 'apply() should return decltype(auto) and use decay_t before tuple_size' as complete. This is a correction to some example code in the standard, no change needed for libc++.
...
llvm-svn: 203579
2014-03-11 15:17:34 +00:00
Marshall Clow
b33d838bcf
Final bit for LWG #2263 ; test different allocator pointer types. Note that libc++ already does the right thing here; I've just added tests to ensure that it stays this way.
...
llvm-svn: 203539
2014-03-11 04:32:12 +00:00
Marshall Clow
17af2f56ab
Add tests for LWG issue #2356 . Stability of erasure in unordered associative containers. Libc++ already does this, but now we have tests for it.
...
llvm-svn: 203494
2014-03-10 21:36:36 +00:00
Marshall Clow
81fec9b270
Mark issues #2357 (wording changes in the standard, no functionality change) and #2132 (libc++ already does this) as complete.
...
llvm-svn: 203478
2014-03-10 17:59:59 +00:00
Marshall Clow
5f16f4c087
Update status for LWG 2193 and 2344.
...
llvm-svn: 203291
2014-03-07 21:47:20 +00:00
Marshall Clow
39bca1ea99
Implement LWG #2212 : std::is_final. This requires compiler support, which modern versions of clang provide. Also mark LWG #2230 as complete - no code changes needed.
...
llvm-svn: 202934
2014-03-05 03:39:25 +00:00
Marshall Clow
4703f76376
Update synposis in <memory> to show move semantics for weak_ptr; add tests for already existing move semantics. Mark LWG issues #2315 (no changes needed), 2316 (move semantics for weak_ptr), 2252 (previous commit) and 2271 (previous commit) as complete.
...
llvm-svn: 202931
2014-03-05 03:12:04 +00:00
Marshall Clow
7493a29398
Fix issue number error; 2141 --> 2291 and mark it as complete
...
llvm-svn: 202884
2014-03-04 20:29:09 +00:00
Marshall Clow
5d658fbbdf
Add a SG1 paper and some SG1 issues that affect the library to the task list.
...
llvm-svn: 202881
2014-03-04 19:40:36 +00:00
Marshall Clow
85a15f067e
Apply David Majnemer's patch updating the links to the papers from Chicago and Issaquah.
...
llvm-svn: 202878
2014-03-04 19:22:53 +00:00
Marshall Clow
53ec054da4
Mark issues #2240 (wording only) and #2268 (revision 202876) as complete.
...
llvm-svn: 202877
2014-03-04 19:18:36 +00:00
Marshall Clow
f519be343b
Implement LWG 2324: Insert iterator constructors should use addressof(). Add two new container classes to the test suite that overload operator &, and add test cases to the insert/front_insert/back_insert iterator tests that use these containers.
...
llvm-svn: 202741
2014-03-03 19:20:40 +00:00
Marshall Clow
05c8dad230
Implement LWG Paper n3887: Consistent Metafunction Aliases. This adds std::tuple_element_t<> as an alias for tuple_element<>::type. Clean up the synopsis for tuple_element in <utility> as well.
...
llvm-svn: 202673
2014-03-03 06:18:11 +00:00
Marshall Clow
6a640a18a4
Implement LWG Issue #2285 - make_reverse_iterator. Also mark issues #1450 and #2205 as complete; they are just wording changes in the standard. Mark issues #2359 , #2320 and #2322 as complete - libc++ implements them already.
...
llvm-svn: 202671
2014-03-03 01:24:04 +00:00
Marshall Clow
4ab4534964
More LWG issues. Mark #2182 , #2323 and #2213 as complete. Add a test for #2339 , and mark that as complete. No actual changes to the libc++ code; all of these were already in place.
...
llvm-svn: 202407
2014-02-27 16:13:36 +00:00
Marshall Clow
c204c130fa
LWG issue #2188 : Reverse iterator does not fully support targets that overload operator&. Also mark #2272 and #2299 as complete; libc++ already implements them.
...
llvm-svn: 202339
2014-02-27 02:11:50 +00:00
Marshall Clow
16da324051
Implement LWG issue 2306: match_results::reference should be value_type&, not const value_type&. This is a general move by the LWG to have the reference type of read-only containers be a non-const reference; however, there are no methods that return a non-const reference to a match_result entry, so there's no worries about getting a non-const reference to a constant object.
...
llvm-svn: 202214
2014-02-26 01:56:31 +00:00
Marshall Clow
11918cff19
Mark LWG issue 2299 as complete. No code changes; libc++ already implements this.
...
llvm-svn: 202203
2014-02-25 23:11:19 +00:00
Marshall Clow
4da015b9b4
Mark LWG Issue 2257 as complete.
...
llvm-svn: 202162
2014-02-25 16:35:39 +00:00
Marshall Clow
f433d63439
Mark LWG Issues 2278 and 2313 as complete. No code changes needed; libc++ already implemented both of these.
...
llvm-svn: 202161
2014-02-25 16:25:55 +00:00
Marshall Clow
0d1560e10e
Implement LWG issue 2301: Mark std::tie as constexpr
...
llvm-svn: 202158
2014-02-25 16:11:46 +00:00
Marshall Clow
7d35711187
Implement LWG Issues #2329 and #2332 - disallow iterators into temporary regexes and regexes into temporary strings
...
llvm-svn: 201717
2014-02-19 21:21:11 +00:00
Marshall Clow
962003126f
Mark issues 2280, 2258, 2304, 2317, 2350 and 2346 as completed.
...
llvm-svn: 201704
2014-02-19 17:55:46 +00:00
Marshall Clow
b1ad26901f
Mark issue 2293, 2241 and 2308 as complete
...
llvm-svn: 201460
2014-02-15 05:41:48 +00:00
Marshall Clow
bacc03ef8d
First pass at the Issaquah issues list
...
llvm-svn: 201459
2014-02-15 05:10:39 +00:00
Marshall Clow
b1915875d0
Fix LWG Issue 2078. Make std::async(policy,...) try multiple policies until one succeeds.
...
llvm-svn: 193960
2013-11-03 15:43:35 +00:00
Marshall Clow
84413437ce
Update status of issues
...
llvm-svn: 193228
2013-10-23 05:59:18 +00:00
Marshall Clow
96bb15f464
Updated status of issues and features
...
llvm-svn: 192546
2013-10-12 22:57:58 +00:00
Marshall Clow
db78c7049e
Fix LWG Issue 2141: common_type trait produces reference types
...
llvm-svn: 192142
2013-10-07 23:43:33 +00:00
Marshall Clow
5d5e7dbe94
Marked issue 2284 as complete
...
llvm-svn: 192085
2013-10-07 03:26:42 +00:00
Peter Collingbourne
26dd09e57f
Make it possible to link against libstdc++ as well as libsupc++ with CMake.
...
Linking against libstdc++, rather than libsupc++, is probably better
for people who need to link against clients of libstdc++. Because
libsupc++ is provided only as a static library, its globals are not
shared between the static library and the copy linked into libstdc++.
This has been found to cause at least one test failure.
This also removes a number of symbols which were multiply defined
between libstdc++ and libc++, only when linking with libstdc++.
Differential Revision: http://llvm-reviews.chandlerc.com/D1825
llvm-svn: 192075
2013-10-06 22:13:19 +00:00
Marshall Clow
82f4901d5f
LWG Issue 2247
...
llvm-svn: 192058
2013-10-06 07:19:23 +00:00
Marshall Clow
4fc5ae4c1c
Updated status post-Chicago
...
llvm-svn: 192057
2013-10-06 07:10:55 +00:00
Marshall Clow
ba132bb198
Fixed bad link for n3789; thanks to Chip Davis for the catch
...
llvm-svn: 191598
2013-09-28 01:52:18 +00:00
Marshall Clow
2cf77525be
Missed a change that didn't have an issue number 'GB 9'
...
llvm-svn: 191575
2013-09-27 22:21:17 +00:00
Marshall Clow
ff1b7ef31b
Updated table with results from Chicago
...
llvm-svn: 191573
2013-09-27 22:16:32 +00:00
Howard Hinnant
ff29d538ea
Apply LWG 2048. It is amazing to me that this actually works, but the existing tests confirm that it does. c++1y status page now showing libc++ is complete for c++1y modulo dynarray issues.
...
llvm-svn: 191142
2013-09-21 19:25:37 +00:00
Howard Hinnant
f13cf89df2
Apply LWG 2021. This is only a documentation change. Also bringing c++1y status page up to date.
...
llvm-svn: 191141
2013-09-21 18:17:23 +00:00
Marshall Clow
9a08837ba3
Fix link to dynarray issue
...
llvm-svn: 190707
2013-09-13 17:32:32 +00:00
Marshall Clow
63d233b6ce
Update status for <dynarray>
...
llvm-svn: 190700
2013-09-13 15:37:11 +00:00
Marshall Clow
ef44edfde4
N3545: Quoted strings
...
llvm-svn: 190032
2013-09-05 04:48:45 +00:00
Marshall Clow
edc4ee3d15
Mark issues 2103, 2005, 2196 and 2203 as complete. No code changes.
...
llvm-svn: 190012
2013-09-04 23:48:25 +00:00
Marshall Clow
8bd0ac1135
Updated status for LSG issues 2122, 2169, 2177, 2140 and 2086.
...
llvm-svn: 189900
2013-09-04 01:06:59 +00:00
Marshall Clow
3e2319e47a
Update status of issues 2045, 2050, 2080, 2081, 2083, 2130, 2137 and 2177.
...
llvm-svn: 189894
2013-09-04 00:18:19 +00:00
Marshall Clow
5155a569d1
LWG Issue 2148: Hashing Enums
...
llvm-svn: 189831
2013-09-03 17:55:32 +00:00
Marshall Clow
3e6a3d0c29
Fix a typo in the status for <optional>
...
llvm-svn: 189809
2013-09-03 14:16:49 +00:00
Howard Hinnant
e7d746d8b9
Implement N3672, optional<T>.
...
llvm-svn: 189772
2013-09-02 20:30:37 +00:00
Howard Hinnant
69bc206547
SFINAE out duration converting constructor if the constructor would otherwise cause a ratio compile-time overflow. This fixes LWG 2094.
...
llvm-svn: 189722
2013-08-31 16:51:56 +00:00
Howard Hinnant
525dc284b4
is_destructible for function types was mistakenly returning true instead of false. This is true in both C++11 and C++1y, but has been clarified by the post C++11 LWG issue 2049.
...
llvm-svn: 189687
2013-08-30 19:12:42 +00:00
Marshall Clow
1e548c72e7
LWG Issue 2128: Implement global cbegin/rbegin/cend/rbegin
...
llvm-svn: 189634
2013-08-30 01:17:07 +00:00
Marshall Clow
eabb87c438
Typo: I wrote "2058" into the status column for issue 2058 instead of "Complete"
...
llvm-svn: 189602
2013-08-29 19:03:01 +00:00
Marshall Clow
08bdca2fc2
Mark LWG issues 2109, 222, 2058, 2091 and 2092 as complete. No changes to libc++ code.
...
llvm-svn: 189601
2013-08-29 18:55:55 +00:00
Marshall Clow
24cca08054
Mark issues 2147, 2149, 2163, 2172, 2098 and 2177 as complete. No code changes to libc++
...
llvm-svn: 189586
2013-08-29 15:35:54 +00:00
Marshall Clow
90a4dad9da
Marked #2163 as complete in previous commit instead of #2162 . Corrected.
...
llvm-svn: 189401
2013-08-27 20:25:06 +00:00
Marshall Clow
06fbed03fc
LWG Issue 2162: mark allocator_traits::maxsize as noexcept
...
llvm-svn: 189399
2013-08-27 20:22:15 +00:00
Marshall Clow
7988106b21
LWG issues 2174/5/6 - mark wstring_convert::converted as noexcept, and make (some of) the constructors for wstring_convert and wbuffer_convert as explicit. Add configuration macro _LIBCPP_EXPLICIT_AFTER_CXX11
...
llvm-svn: 189398
2013-08-27 20:18:59 +00:00
Marshall Clow
bf9ad4a1f8
Mark LWG issues 2190, 2200, and 2211 as done. No changes needed to libc++.
...
llvm-svn: 189359
2013-08-27 15:47:05 +00:00
Marshall Clow
5320c2b563
Update synopsis in <locale> to match LWG Issue 2229. No code change
...
llvm-svn: 189352
2013-08-27 14:22:13 +00:00
Marshall Clow
54c83368a5
Implement LWG issue 2061
...
llvm-svn: 189345
2013-08-27 13:03:03 +00:00
Marshall Clow
541be9c72c
Mark LWG issues 2011, 2015, 2033, 2065, 2071, 2102, 2235 as complete b/c libc++ already fixed them.
...
llvm-svn: 189232
2013-08-26 17:31:31 +00:00
Howard Hinnant
145afa17ca
Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG.
...
llvm-svn: 189140
2013-08-23 20:10:18 +00:00
Marshall Clow
7b5566c5f5
Mark LWG issues #2083 , 2099 and 2105 as complete. No functionality change.
...
llvm-svn: 189044
2013-08-22 18:53:17 +00:00
Marshall Clow
a86d516213
LWG 2145 - mark constructor for std::error_category as inline and constexpr. Leave the (existing, out-of-line, non-constexpr) in the dylib for compatibility with existing programs)
...
llvm-svn: 188858
2013-08-21 02:57:19 +00:00
Marshall Clow
890d1ee469
Updated status of issues #2093 , 2144, and 2185
...
llvm-svn: 188813
2013-08-20 16:59:06 +00:00
Marshall Clow
8a79e1d053
Updated status and description of issues 2064, 2069 and 2096.
...
llvm-svn: 188811
2013-08-20 16:24:55 +00:00
Marshall Clow
a0393ce271
Updated status of issues #2028 , 2047, and 2053.
...
llvm-svn: 188810
2013-08-20 16:18:29 +00:00
Marshall Clow
e06e3ac7d5
Updated status of issues #1214 , 2207 and 2209. They were already implemented, so no functionality change was needed.
...
llvm-svn: 188803
2013-08-20 14:21:16 +00:00