Marshall Clow
ebd6c2b81d
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202934 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-05 03:39:25 +00:00
Marshall Clow
23ef151614
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202931 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-05 03:12:04 +00:00
Marshall Clow
a6057a525a
Fix issue number error; 2141 --> 2291 and mark it as complete
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202884 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-04 20:29:09 +00:00
Marshall Clow
5ba85af029
Add a SG1 paper and some SG1 issues that affect the library to the task list.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202881 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-04 19:40:36 +00:00
Marshall Clow
ab9da1a78f
Apply David Majnemer's patch updating the links to the papers from Chicago and Issaquah.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202878 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-04 19:22:53 +00:00
Marshall Clow
8f20e52a2b
Mark issues #2240 (wording only) and #2268 (revision 202876) as complete.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202877 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-04 19:18:36 +00:00
Marshall Clow
53c0e72d5c
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202741 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-03 19:20:40 +00:00
Marshall Clow
50fe0c7d61
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202673 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-03 06:18:11 +00:00
Marshall Clow
ff137e9145
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202671 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-03 01:24:04 +00:00
Marshall Clow
37a9ca6fb2
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202407 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-27 16:13:36 +00:00
Marshall Clow
02ca8af10b
LWG issue #2188 : Reverse iterator does not fully support targets that overload operator&. Also mark #2272 and #2299 as complete; libc++ already implements them.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202339 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-27 02:11:50 +00:00
Marshall Clow
103af3478e
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202214 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-26 01:56:31 +00:00
Marshall Clow
d3ac046ba5
Mark LWG issue 2299 as complete. No code changes; libc++ already implements this.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202203 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-25 23:11:19 +00:00
Marshall Clow
e75439f54b
Mark LWG Issue 2257 as complete.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202162 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-25 16:35:39 +00:00
Marshall Clow
cc4759288b
Mark LWG Issues 2278 and 2313 as complete. No code changes needed; libc++ already implemented both of these.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202161 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-25 16:25:55 +00:00
Marshall Clow
8e554d93da
Implement LWG issue 2301: Mark std::tie as constexpr
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@202158 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-25 16:11:46 +00:00
Marshall Clow
e0f8672e7a
Implement LWG Issues #2329 and #2332 - disallow iterators into temporary regexes and regexes into temporary strings
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@201717 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-19 21:21:11 +00:00
Marshall Clow
d81d83f098
Mark issues 2280, 2258, 2304, 2317, 2350 and 2346 as completed.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@201704 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-19 17:55:46 +00:00
Marshall Clow
b88d7cc71c
Mark issue 2293, 2241 and 2308 as complete
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@201460 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-15 05:41:48 +00:00
Marshall Clow
224dec238c
First pass at the Issaquah issues list
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@201459 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-15 05:10:39 +00:00
Marshall Clow
ad2a600c2a
Fix LWG Issue 2078. Make std::async(policy,...) try multiple policies until one succeeds.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@193960 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-03 15:43:35 +00:00
Marshall Clow
4259337da2
Update status of issues
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@193228 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-23 05:59:18 +00:00
Marshall Clow
0f91166ef8
Updated status of issues and features
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@192546 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-12 22:57:58 +00:00
Marshall Clow
dab89a1412
Fix LWG Issue 2141: common_type trait produces reference types
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@192142 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-07 23:43:33 +00:00
Marshall Clow
16f13a0b84
Marked issue 2284 as complete
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@192085 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-07 03:26:42 +00:00
Peter Collingbourne
d0d308f54b
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
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@192075 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-06 22:13:19 +00:00
Marshall Clow
de3cac777d
LWG Issue 2247
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@192058 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-06 07:19:23 +00:00
Marshall Clow
69bf761909
Updated status post-Chicago
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@192057 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-06 07:10:55 +00:00
Marshall Clow
4af78bb10b
Fixed bad link for n3789; thanks to Chip Davis for the catch
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@191598 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-28 01:52:18 +00:00
Marshall Clow
cb55b18fa9
Missed a change that didn't have an issue number 'GB 9'
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@191575 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-27 22:21:17 +00:00
Marshall Clow
91008752ed
Updated table with results from Chicago
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@191573 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-27 22:16:32 +00:00
Howard Hinnant
dcc6a0bc44
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@191142 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-21 19:25:37 +00:00
Howard Hinnant
0836f87fb9
Apply LWG 2021. This is only a documentation change. Also bringing c++1y status page up to date.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@191141 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-21 18:17:23 +00:00
Marshall Clow
6ecf7f2d54
Fix link to dynarray issue
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190707 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-13 17:32:32 +00:00
Marshall Clow
94d3f6b518
Update status for <dynarray>
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190700 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-13 15:37:11 +00:00
Marshall Clow
62f34be0ba
N3545: Quoted strings
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190032 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-05 04:48:45 +00:00
Marshall Clow
058655b28a
Mark issues 2103, 2005, 2196 and 2203 as complete. No code changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@190012 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-04 23:48:25 +00:00
Marshall Clow
656ed3ca8d
Updated status for LSG issues 2122, 2169, 2177, 2140 and 2086.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189900 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-04 01:06:59 +00:00
Marshall Clow
2a258956b0
Update status of issues 2045, 2050, 2080, 2081, 2083, 2130, 2137 and 2177.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189894 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-04 00:18:19 +00:00
Marshall Clow
9e613ca1b3
LWG Issue 2148: Hashing Enums
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189831 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-03 17:55:32 +00:00
Marshall Clow
85bbdcdad4
Fix a typo in the status for <optional>
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189809 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-03 14:16:49 +00:00
Howard Hinnant
01afa5c6e4
Implement N3672, optional<T>.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189772 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-02 20:30:37 +00:00
Howard Hinnant
713f4db2e5
SFINAE out duration converting constructor if the constructor would otherwise cause a ratio compile-time overflow. This fixes LWG 2094.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189722 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-31 16:51:56 +00:00
Howard Hinnant
d179407288
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189687 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-30 19:12:42 +00:00
Marshall Clow
09da3c053c
LWG Issue 2128: Implement global cbegin/rbegin/cend/rbegin
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189634 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-30 01:17:07 +00:00
Marshall Clow
24bf4b8597
Typo: I wrote "2058" into the status column for issue 2058 instead of "Complete"
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189602 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-29 19:03:01 +00:00
Marshall Clow
a96d22b85d
Mark LWG issues 2109, 222, 2058, 2091 and 2092 as complete. No changes to libc++ code.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189601 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-29 18:55:55 +00:00
Marshall Clow
1c2e46bd56
Mark issues 2147, 2149, 2163, 2172, 2098 and 2177 as complete. No code changes to libc++
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189586 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-29 15:35:54 +00:00
Marshall Clow
a78b369b66
Marked #2163 as complete in previous commit instead of #2162 . Corrected.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189401 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-27 20:25:06 +00:00
Marshall Clow
08b4f3f99b
LWG Issue 2162: mark allocator_traits::maxsize as noexcept
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189399 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-27 20:22:15 +00:00
Marshall Clow
83179a788f
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
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189398 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-27 20:18:59 +00:00
Marshall Clow
5f36c68cb0
Mark LWG issues 2190, 2200, and 2211 as done. No changes needed to libc++.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189359 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-27 15:47:05 +00:00
Marshall Clow
e42f184a76
Update synopsis in <locale> to match LWG Issue 2229. No code change
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189352 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-27 14:22:13 +00:00
Marshall Clow
af74651f61
Implement LWG issue 2061
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189345 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-27 13:03:03 +00:00
Marshall Clow
bce2a4752a
Mark LWG issues 2011, 2015, 2033, 2065, 2071, 2102, 2235 as complete b/c libc++ already fixed them.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189232 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-26 17:31:31 +00:00
Howard Hinnant
5e57142c59
Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189140 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-23 20:10:18 +00:00
Marshall Clow
5b7519eb15
Mark LWG issues #2083 , 2099 and 2105 as complete. No functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@189044 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-22 18:53:17 +00:00
Marshall Clow
5c316a6d04
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)
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188858 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-21 02:57:19 +00:00
Marshall Clow
2a34052dac
Updated status of issues #2093 , 2144, and 2185
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188813 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 16:59:06 +00:00
Marshall Clow
802daf6e16
Updated status and description of issues 2064, 2069 and 2096.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188811 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 16:24:55 +00:00
Marshall Clow
cd17d90cbb
Updated status of issues #2028 , 2047, and 2053.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188810 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 16:18:29 +00:00
Marshall Clow
78afc05b45
Updated status of issues #1214 , 2207 and 2209. They were already implemented, so no functionality change was needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188803 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-20 14:21:16 +00:00
Howard Hinnant
811e7130db
Added some missing issues to the c++1y status page, and put in hyperlinks for the papers.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188387 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-14 17:26:18 +00:00
Marshall Clow
e75599557a
remove CWG papers from list; add link to clang status page
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188383 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-14 16:30:37 +00:00
Marshall Clow
9b86fc17a0
Added CWG and SG1 papers to libc++ status page
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188381 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-14 16:12:34 +00:00
Marshall Clow
68b4025292
Mark LWG Issue #2110 and #2113 as completed - they were already done
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188378 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-14 15:28:40 +00:00
Marshall Clow
2df3700879
Add a deleted assignment operator for basic_ostream; LWG Issue #2067
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188375 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-14 15:15:28 +00:00
Marshall Clow
198a2a59ee
Implement LWG Issue #2187 (emplace_back and emplace for vector<bool>)
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188333 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 23:54:12 +00:00
Marshall Clow
5da3087628
Update for N3657 and issue 2010
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188321 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 22:20:01 +00:00
Marshall Clow
23d1ccc3dc
Updated issues 2039, 2044, 2197, 2225, and 2231
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188294 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 17:02:42 +00:00
Marshall Clow
6ef840818d
Updated Issue 2187
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188286 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 16:23:22 +00:00
Marshall Clow
0931015f01
Removed 'Ready' issues from Bristol
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188284 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 16:07:51 +00:00
Marshall Clow
83e40c4a80
Updated issues 2009 and 2074
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188283 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 16:01:28 +00:00
Marshall Clow
6b229e1ad1
Fix template formatting. No, really
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188277 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 15:13:42 +00:00
Marshall Clow
deb471c3c6
escape some template specs
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188276 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 15:07:02 +00:00
Marshall Clow
437cdcf813
Fix case mismatch
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188275 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 14:59:44 +00:00
Marshall Clow
5d4807742f
Create a C++14 status page
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188273 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-13 14:58:39 +00:00
Howard Hinnant
824c19963e
debug mode for unordered_map. Also picked up a missing check and test in unordered_multimap. This wraps up debug mode for the unordered containers.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@187659 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-02 17:50:49 +00:00
Howard Hinnant
8b00e6c960
Ok, 3 major changes for debug mode in one commit:
...
1. I had been detecting and trapping iterator == and \!= among iterators
in different containers as an error. But the trapping itself is actually
an error.
Consider:
#include <iostream>
#include <vector>
#include <algorithm>
template <class C>
void
display(const C& c)
{
std::cout << "{";
bool first = true;
for (const auto& x : c)
{
if (\!first)
std::cout << ", ";
first = false;
std::cout << x;
}
std::cout << "}\n";
}
int
main()
{
typedef std::vector<int> V;
V v1 = {1, 3, 5};
V v2 = {2, 4, 6};
display(v1);
display(v2);
V::iterator i = std::find(v1.begin(), v1.end(), 1);
V::iterator j = std::find(v2.begin(), v2.end(), 2);
if (*i == *j)
i = j; // perfectly legal
// ...
if (i \!= j) // the only way to check
v2.push_back(*i);
display(v1);
display(v2);
}
It is legal to assign an iterator from one container to another of the
same type. This is required to work. One might want to test whether or
not such an assignment had been made. The way one performs such a check
is using the iterator's ==, \!= operator. This is a logical and necessary
function and does not constitute an error.
2. I had a header circular dependence bug when _LIBCPP_DEBUG2 is defined.
This caused a problem in several of the libc++ tests.
Fixed.
3. There is a serious problem when _LIBCPP_DEBUG2=1 at the moment in that
std::basic_string is inoperable. std::basic_string uses __wrap_iterator
to implement its iterators. __wrap_iterator has been rigged up in debug
mode to support vector. But string hasn't been rigged up yet. This means
that one gets false positives when using std::string in debug mode. I've
upped std::string's priority in www/debug_mode.html.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@187636 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-02 00:26:35 +00:00
Howard Hinnant
0bb0a7c9ea
Debug mode for unordered_multiset. The exercise spotted a few places I had missed on unordered_set, so I picked those up as well.
...
There are actually two debug modes:
1. -D_LIBCPP_DEBUG2 or -D_LIBCPP_DEBUG2=1
This is a relatively expensive debug mode, but very thorough. This is normally what you want to debug with, but may turn O(1) operations into O(N) operations.
2. -D_LIBCPP_DEBUG2=0
This is "debug lite." Only preconditions that can be checked with O(1) expense are checked. For example range checking on an indexing operation. But not iterator validity.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@187369 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-29 19:05:47 +00:00
Howard Hinnant
2062f37772
I believe this finishes up debug mode for list. The testing is a little weak, but I believe all of the functionality is there. Certainly enough for people to checkout and start beating up on.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@179632 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-16 21:42:36 +00:00
Howard Hinnant
302fa82a1c
I believe debug mode for vector<T> (T != bool) is complete. If anyone sees anything more they would like to see on it, please let me know. Debug mode is activated by compiling with -D_LIBCPP_DEBUG2=1. Eventually _LIBCPP_DEBUG2 will be renamed to just _LIBCPP_DEBUG.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@178288 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28 20:35:29 +00:00
Marshall Clow
e47bc9bc4f
Updated link to Marshall's instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@177099 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-14 19:00:34 +00:00
Howard Hinnant
c7cbe502db
Some forward-looking and optimistic documentation.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@177093 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-14 18:37:48 +00:00
Howard Hinnant
fae54b9c14
Michael van der Westhuizen: correction to the libcxx build instructions when built with libcxxrt on Linux.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@176093 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-26 16:27:55 +00:00
Howard Hinnant
0dee9cd5ad
Bruce Mitchener: Minor typo fixes.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@175274 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-15 15:37:50 +00:00
Howard Hinnant
af4d161908
Michael van der Westhuizen: Update instructions for building on Linux.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@174733 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-08 19:10:36 +00:00
Michael J. Spencer
db8a030bd3
[CMake] Fix c++ abi library configuration on Linux.
...
You can now configure from the command line using:
-DLIBCXX_CXX_ABI=libsupc++
-DLIBCXX_LIBSUPCXX_INCLUDE_PATHS="path;path
Also documents how to build on Linux.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@171316 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-31 19:34:21 +00:00
Howard Hinnant
b0895ff8ae
Fix type-o.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@168715 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 18:52:32 +00:00
Howard Hinnant
641f6c1f65
Remove by-chapter breakdown of what is implemented. The chart is now obsolete.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@168713 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 18:35:09 +00:00
Marshall Clow
faa17162e9
Change C++0x references to C++11, Fixes bug #12745
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@167930 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-14 16:31:15 +00:00
Howard Hinnant
22b781bf0c
Update instructions for building and using libc++ on Mac OS
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@167490 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-06 21:31:37 +00:00
Marshall Clow
08a0b48c09
Fix a typo in the docs
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@162335 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-22 00:57:11 +00:00
Howard Hinnant
ef793f2513
Andrew Morrow: Among the various libc++ tests that currently don't pass on Linux are
...
localization/locale.categories/category.collate/category.ctype/locale.ctype.byname/is_1.pass.cpp
and scan_is.pass.cpp. The tests fail when the character class being
tested is compound, like ctype_base::alnum or ctype_base::graph,
because the existing series of conditionals in do_is an do_scan_is
will abort too early. For instance, if the character class being
tested is alnum, and the character is numeric, do_is will return false
because iswalpha_l will return false, 'result' becomes false, and the
'true' result from the later call to iswdigit_l ends up being ignored
. A similar problem exists in do_scan_is.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@161192 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-02 18:35:07 +00:00
Howard Hinnant
403f91ad2c
Andrew Morrow: The attached patch is an attempt to implement
...
std:🧵 :hardware_concurrency for platforms that don't offer
sysctl, but do provide a POSIX sysconf and _SC_NPROCESSORS_ONLN.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@161190 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-02 18:17:49 +00:00
Howard Hinnant
6d39f9f356
Andrew Morrow: This patch fixes
...
test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
to accept '(nil)' as a valid representation for NULL so that the test
passes on Linux. The same thing is already done in some other tests,
like in /test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@161188 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-02 18:12:06 +00:00
Howard Hinnant
ee7a0bf265
Andrew Morrow: Attached is a writeup of the current state of the libc++ test suite on Linux.
...
There are a few tests that are listed as failing here for which I have
a patch in the works. I'll be sending those along soon. There are
others where I know what is going on but don't yet have a solution,
and I've included some notes for those. Several still need to be
investigated, mostly in localization and the regex test suite. I think
that many of these failures are due to locale implementation
variations that make the expected test results not match the actual
results. I'm not sure what the best way to make the tests accomodate
this sort of variation might be.
The failures in the unique_ptr test suite are very new and are caused
by a clang crash which I've not yet looked into.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@161079 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-31 21:30:28 +00:00
Howard Hinnant
7a7b6d8283
Updated status
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@160959 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-30 13:59:36 +00:00
Howard Hinnant
30055c68d4
Updated the complete by-chapter graph
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@160943 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-30 02:29:34 +00:00
Howard Hinnant
7d87f6be1b
Jean-Daniel : clang now supports all required type_traits.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@160510 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19 15:59:52 +00:00
Howard Hinnant
af3473404e
Jean-Daniel updates the libc++ index page to reflect not so recent changes in C++ standard status.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@160509 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19 15:57:51 +00:00
Howard Hinnant
a0b5befbd3
New Windows libc++ test results provided by Ruben Van Boxem.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@159852 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-06 19:35:31 +00:00
Howard Hinnant
820e00755a
link to Marshall's notes.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@159791 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-06 00:39:38 +00:00
Howard Hinnant
51065657aa
Add documentation regarding -fno-rtti.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@157157 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20 13:03:53 +00:00
Howard Hinnant
271a1c03c3
Updated documentation contributed by Christopher Jefferson.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@153955 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-03 15:08:42 +00:00
Howard Hinnant
704f09b212
Clarify building instructions for 10.7
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@144910 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-17 17:14:16 +00:00
Howard Hinnant
08e17472e4
Windows support by Ruben Van Boxem.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@142235 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-17 20:05:10 +00:00
Howard Hinnant
907732644c
Update instructions for building on Mac OS 10.6
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@141507 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-09 15:25:34 +00:00
Howard Hinnant
8452d21f41
Updated testit to run on Windows and fresh Windows results by Ruben Van Boxem
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@140950 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-01 15:34:27 +00:00
Howard Hinnant
2481cba8b7
Provide link to developer's policy
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@140857 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-30 16:58:02 +00:00
Howard Hinnant
0cbb3a16e2
Ruben's Windows test results.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@140700 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-28 15:44:39 +00:00
Howard Hinnant
8b3fae3cc7
Address PR10909: http://llvm.org/bugs/show_bug.cgi?id=10909
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@139493 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-12 14:15:45 +00:00
Sean Hunt
737a351850
Given that __underlying_type is now available in clang, implement
...
std::underlying_type.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@135410 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-18 18:37:21 +00:00
Howard Hinnant
f5d76a7afc
Add instructions for -U__STRICT_ANSI__ for Mac OS 10.6
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@133616 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 12:13:55 +00:00
Howard Hinnant
0cfa1f7cbd
CWG 1170 has been fixed for destructors
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@131290 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13 13:39:08 +00:00
Sean Hunt
9e604b442c
__is_trivially_copyable now supplied by clang
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@131271 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13 00:32:09 +00:00
Howard Hinnant
d5c2f255c5
Corrected misspelling
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@131265 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13 00:03:08 +00:00
Howard Hinnant
7bbce3c0e7
Updated to reflect updated use of existing clang support
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@131264 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-13 00:01:01 +00:00
Howard Hinnant
3666695f0d
Updated type_traits and the type_traits design doc with recent work done in clang.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@131090 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-09 19:21:17 +00:00
Howard Hinnant
86e78d694c
Jonathan Sauer updated is_base_of traits status
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@128349 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-26 19:58:42 +00:00
Howard Hinnant
5a245dbf52
Jean-Daniel Dupas fixes install directions
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@126222 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-22 14:18:34 +00:00
Howard Hinnant
65451f1549
Updated getting started directions.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@124452 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-27 23:18:19 +00:00
Howard Hinnant
01feecb789
type_traits intrinsics design
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119776 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19 01:48:13 +00:00
Howard Hinnant
9835d76169
type_traits intrinsics design
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119775 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19 01:38:58 +00:00
Chris Lattner
f38bc6efc5
libc++ is now dual licensed under both UIUC and MIT licenses.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119391 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16 21:40:19 +00:00
Howard Hinnant
f26262dde0
Updated chart with weekly test results, and updated export files for chnages in <atomic>.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@116943 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-20 20:15:14 +00:00
Howard Hinnant
21ef47f436
Changing <atomic> to follow Design A
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@116742 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-18 20:39:07 +00:00
Howard Hinnant
be22ed405a
Update atomic Design A spec with reference C++ implementations for the purpose of documeting the semantics of each atomic operation.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@116713 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-18 16:40:13 +00:00
Howard Hinnant
f6fe084fd4
Update atomic Design A spec
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@116707 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-18 16:02:24 +00:00
Howard Hinnant
4d89249185
updated for weekly test results
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@116425 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-13 20:24:31 +00:00
Howard Hinnant
08f2969220
Updated atomic design docs
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@116065 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-08 17:36:50 +00:00
Howard Hinnant
77868b9d9a
Update atomic design A
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115913 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-07 14:18:37 +00:00
Howard Hinnant
086b718734
Updated <atomic> docs with three design options
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115791 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-06 16:15:10 +00:00
Howard Hinnant
e78d1f548b
A compiler writer's guide to <atomic>, minor update
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115633 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-05 17:22:28 +00:00
Howard Hinnant
56f0d5be06
A compiler writer's guide to <atomic>
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115629 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-05 16:44:40 +00:00
Howard Hinnant
5b6af69387
updated per weekly tests
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@115081 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29 20:15:25 +00:00
Howard Hinnant
049734ed85
Updated chart for weekly test results.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@114029 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-15 21:56:37 +00:00
Howard Hinnant
e764f0b648
Updated by-chapter-summary with weekly test results, and fixed up some bad paths in some tests caused by aligning the test suite with N3126.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113403 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-08 20:31:42 +00:00
Howard Hinnant
f6547cbf61
Updated current status.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113110 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-05 17:31:48 +00:00
Howard Hinnant
ae153b9855
Updated for weekly test results.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@112737 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 20:33:41 +00:00
Howard Hinnant
98ccdeca3b
Updated for weekly test results
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@112078 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-25 19:45:31 +00:00
Howard Hinnant
d2bb032075
Fixing whitespace problems
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111769 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 01:04:38 +00:00
Howard Hinnant
4a23e1e060
Updated by-chapter chart with weekly test results. Also did some prototyping on result_of, but if-def'd out the prototyped part (which the LWG may or may not accept)
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111389 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18 18:52:04 +00:00
Howard Hinnant
588ea08124
weekly by-chapter summary updated
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109695 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-28 23:23:51 +00:00
Howard Hinnant
ddff70e879
Updated weekly by chapter summary
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@109135 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-22 20:29:53 +00:00
Howard Hinnant
aa69808da9
A good start on extended posix regex. Loops working. Alternation working. Also update by-chapter completeness summary.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@108548 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-16 19:08:36 +00:00
Howard Hinnant
37f9f9c587
weekly update to by-chapter-summary, plus left and right anchor support in basic posix.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@107938 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-09 00:15:26 +00:00
Howard Hinnant
43b4decac5
Updated chart with weekly test results
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@107431 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-01 21:39:12 +00:00
Howard Hinnant
8c2c18d57c
Continuing to work through regex, and updated libcxx_by_chapter.pdf with weekly test results
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@106790 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-24 21:28:00 +00:00
Howard Hinnant
80d88f35d2
updated for weekly tests
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@106288 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-18 16:13:40 +00:00