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
Howard Hinnant
009aff5e96
Added some missing issues to the c++1y status page, and put in hyperlinks for the papers.
...
llvm-svn: 188387
2013-08-14 17:26:18 +00:00
Marshall Clow
a6821921a7
remove CWG papers from list; add link to clang status page
...
llvm-svn: 188383
2013-08-14 16:30:37 +00:00
Marshall Clow
03bcdf27c6
Added CWG and SG1 papers to libc++ status page
...
llvm-svn: 188381
2013-08-14 16:12:34 +00:00
Marshall Clow
444d3300f2
Mark LWG Issue #2110 and #2113 as completed - they were already done
...
llvm-svn: 188378
2013-08-14 15:28:40 +00:00
Marshall Clow
ede1aa2d31
Add a deleted assignment operator for basic_ostream; LWG Issue #2067
...
llvm-svn: 188375
2013-08-14 15:15:28 +00:00
Marshall Clow
2d6e2834a8
Implement LWG Issue #2187 (emplace_back and emplace for vector<bool>)
...
llvm-svn: 188333
2013-08-13 23:54:12 +00:00
Marshall Clow
e06dfe2ccd
Update for N3657 and issue 2010
...
llvm-svn: 188321
2013-08-13 22:20:01 +00:00
Marshall Clow
72f7821cc6
Updated issues 2039, 2044, 2197, 2225, and 2231
...
llvm-svn: 188294
2013-08-13 17:02:42 +00:00
Marshall Clow
bd9d059e6c
Updated Issue 2187
...
llvm-svn: 188286
2013-08-13 16:23:22 +00:00
Marshall Clow
e714b879df
Removed 'Ready' issues from Bristol
...
llvm-svn: 188284
2013-08-13 16:07:51 +00:00
Marshall Clow
fb9945594f
Updated issues 2009 and 2074
...
llvm-svn: 188283
2013-08-13 16:01:28 +00:00
Marshall Clow
47e432c6df
Fix template formatting. No, really
...
llvm-svn: 188277
2013-08-13 15:13:42 +00:00
Marshall Clow
6efb2bf585
escape some template specs
...
llvm-svn: 188276
2013-08-13 15:07:02 +00:00
Marshall Clow
873e890f44
Fix case mismatch
...
llvm-svn: 188275
2013-08-13 14:59:44 +00:00
Marshall Clow
f77718ad1d
Create a C++14 status page
...
llvm-svn: 188273
2013-08-13 14:58:39 +00:00
Howard Hinnant
2f51de568f
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.
...
llvm-svn: 187659
2013-08-02 17:50:49 +00:00
Howard Hinnant
42a3046eef
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.
llvm-svn: 187636
2013-08-02 00:26:35 +00:00
Howard Hinnant
e5c13decbe
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.
llvm-svn: 187369
2013-07-29 19:05:47 +00:00
Howard Hinnant
9a20da75ef
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.
...
llvm-svn: 179632
2013-04-16 21:42:36 +00:00
Howard Hinnant
97b8ebe600
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.
...
llvm-svn: 178288
2013-03-28 20:35:29 +00:00
Marshall Clow
928f65a8aa
Updated link to Marshall's instructions
...
llvm-svn: 177099
2013-03-14 19:00:34 +00:00
Howard Hinnant
d70e6570fd
Some forward-looking and optimistic documentation.
...
llvm-svn: 177093
2013-03-14 18:37:48 +00:00
Howard Hinnant
5b22e99e77
Michael van der Westhuizen: correction to the libcxx build instructions when built with libcxxrt on Linux.
...
llvm-svn: 176093
2013-02-26 16:27:55 +00:00
Howard Hinnant
65af0388b9
Bruce Mitchener: Minor typo fixes.
...
llvm-svn: 175274
2013-02-15 15:37:50 +00:00
Howard Hinnant
af00dc0420
Michael van der Westhuizen: Update instructions for building on Linux.
...
llvm-svn: 174733
2013-02-08 19:10:36 +00:00
Michael J. Spencer
bb8cfd0fec
[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.
llvm-svn: 171316
2012-12-31 19:34:21 +00:00
Howard Hinnant
6852b55314
Fix type-o.
...
llvm-svn: 168715
2012-11-27 18:52:32 +00:00
Howard Hinnant
43a1f7b045
Remove by-chapter breakdown of what is implemented. The chart is now obsolete.
...
llvm-svn: 168713
2012-11-27 18:35:09 +00:00
Marshall Clow
497d9d2671
Change C++0x references to C++11, Fixes bug #12745
...
llvm-svn: 167930
2012-11-14 16:31:15 +00:00
Howard Hinnant
1c8358c13c
Update instructions for building and using libc++ on Mac OS
...
llvm-svn: 167490
2012-11-06 21:31:37 +00:00
Marshall Clow
c740e05316
Fix a typo in the docs
...
llvm-svn: 162335
2012-08-22 00:57:11 +00:00
Howard Hinnant
4df0a6adf6
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.
llvm-svn: 161192
2012-08-02 18:35:07 +00:00
Howard Hinnant
d3673eb4e1
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.
llvm-svn: 161190
2012-08-02 18:17:49 +00:00
Howard Hinnant
a30af5f7cd
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.
llvm-svn: 161188
2012-08-02 18:12:06 +00:00
Howard Hinnant
8eb04fe53c
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.
llvm-svn: 161079
2012-07-31 21:30:28 +00:00
Howard Hinnant
355b660a4b
Updated status
...
llvm-svn: 160959
2012-07-30 13:59:36 +00:00
Howard Hinnant
fe9fe2dedc
Updated the complete by-chapter graph
...
llvm-svn: 160943
2012-07-30 02:29:34 +00:00
Howard Hinnant
07ce90bb9d
Jean-Daniel : clang now supports all required type_traits.
...
llvm-svn: 160510
2012-07-19 15:59:52 +00:00
Howard Hinnant
51eb2adb2d
Jean-Daniel updates the libc++ index page to reflect not so recent changes in C++ standard status.
...
llvm-svn: 160509
2012-07-19 15:57:51 +00:00
Howard Hinnant
9f06558f86
New Windows libc++ test results provided by Ruben Van Boxem.
...
llvm-svn: 159852
2012-07-06 19:35:31 +00:00
Howard Hinnant
6b45660f14
link to Marshall's notes.
...
llvm-svn: 159791
2012-07-06 00:39:38 +00:00
Howard Hinnant
49c3b20737
Add documentation regarding -fno-rtti.
...
llvm-svn: 157157
2012-05-20 13:03:53 +00:00
Howard Hinnant
6e3e78acba
Updated documentation contributed by Christopher Jefferson.
...
llvm-svn: 153955
2012-04-03 15:08:42 +00:00
Howard Hinnant
7319160e7c
Clarify building instructions for 10.7
...
llvm-svn: 144910
2011-11-17 17:14:16 +00:00
Howard Hinnant
073458b1ab
Windows support by Ruben Van Boxem.
...
llvm-svn: 142235
2011-10-17 20:05:10 +00:00
Howard Hinnant
287e20e824
Update instructions for building on Mac OS 10.6
...
llvm-svn: 141507
2011-10-09 15:25:34 +00:00
Howard Hinnant
20dde1e8fb
Updated testit to run on Windows and fresh Windows results by Ruben Van Boxem
...
llvm-svn: 140950
2011-10-01 15:34:27 +00:00
Howard Hinnant
4f4d310e3e
Provide link to developer's policy
...
llvm-svn: 140857
2011-09-30 16:58:02 +00:00
Howard Hinnant
d7aac28ae9
Ruben's Windows test results.
...
llvm-svn: 140700
2011-09-28 15:44:39 +00:00
Howard Hinnant
55f2a50994
Address PR10909: http://llvm.org/bugs/show_bug.cgi?id=10909
...
llvm-svn: 139493
2011-09-12 14:15:45 +00:00
Alexis Hunt
397d787642
Given that __underlying_type is now available in clang, implement
...
std::underlying_type.
llvm-svn: 135410
2011-07-18 18:37:21 +00:00
Howard Hinnant
8298b9c2fd
Add instructions for -U__STRICT_ANSI__ for Mac OS 10.6
...
llvm-svn: 133616
2011-06-22 12:13:55 +00:00
Howard Hinnant
5dbf45dfe0
CWG 1170 has been fixed for destructors
...
llvm-svn: 131290
2011-05-13 13:39:08 +00:00
Alexis Hunt
662d91f1cd
__is_trivially_copyable now supplied by clang
...
llvm-svn: 131271
2011-05-13 00:32:09 +00:00
Howard Hinnant
f208605bd4
Corrected misspelling
...
llvm-svn: 131265
2011-05-13 00:03:08 +00:00
Howard Hinnant
b24491b73e
Updated to reflect updated use of existing clang support
...
llvm-svn: 131264
2011-05-13 00:01:01 +00:00
Howard Hinnant
0cfdb9517e
Updated type_traits and the type_traits design doc with recent work done in clang.
...
llvm-svn: 131090
2011-05-09 19:21:17 +00:00
Howard Hinnant
8e2617780a
Jonathan Sauer updated is_base_of traits status
...
llvm-svn: 128349
2011-03-26 19:58:42 +00:00
Howard Hinnant
80a3cadab7
Jean-Daniel Dupas fixes install directions
...
llvm-svn: 126222
2011-02-22 14:18:34 +00:00
Howard Hinnant
e4de279009
Updated getting started directions.
...
llvm-svn: 124452
2011-01-27 23:18:19 +00:00
Howard Hinnant
348bb56a82
type_traits intrinsics design
...
llvm-svn: 119776
2010-11-19 01:48:13 +00:00
Howard Hinnant
4b88967b70
type_traits intrinsics design
...
llvm-svn: 119775
2010-11-19 01:38:58 +00:00
Chris Lattner
58dffe641b
libc++ is now dual licensed under both UIUC and MIT licenses.
...
llvm-svn: 119391
2010-11-16 21:40:19 +00:00
Howard Hinnant
6b4120915e
Updated chart with weekly test results, and updated export files for chnages in <atomic>.
...
llvm-svn: 116943
2010-10-20 20:15:14 +00:00
Howard Hinnant
b2b5513dcc
Changing <atomic> to follow Design A
...
llvm-svn: 116742
2010-10-18 20:39:07 +00:00
Howard Hinnant
8166eca7b4
Update atomic Design A spec with reference C++ implementations for the purpose of documeting the semantics of each atomic operation.
...
llvm-svn: 116713
2010-10-18 16:40:13 +00:00
Howard Hinnant
1f1f63a698
Update atomic Design A spec
...
llvm-svn: 116707
2010-10-18 16:02:24 +00:00
Howard Hinnant
279312ec4e
updated for weekly test results
...
llvm-svn: 116425
2010-10-13 20:24:31 +00:00
Howard Hinnant
71dee18c43
Updated atomic design docs
...
llvm-svn: 116065
2010-10-08 17:36:50 +00:00
Howard Hinnant
dc2394f856
Update atomic design A
...
llvm-svn: 115913
2010-10-07 14:18:37 +00:00
Howard Hinnant
a35a35fc90
Updated <atomic> docs with three design options
...
llvm-svn: 115791
2010-10-06 16:15:10 +00:00
Howard Hinnant
b93850f370
A compiler writer's guide to <atomic>, minor update
...
llvm-svn: 115633
2010-10-05 17:22:28 +00:00