Commit Graph

288 Commits

Author SHA1 Message Date
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
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