Commit Graph

37 Commits

Author SHA1 Message Date
Marshall Clow
88f5d7a38b Implement P1023: constexpr comparison operators for std::array
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@338668 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-02 02:11:06 +00:00
Marshall Clow
d2e2a0206e Mark <span> as complete
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@337879 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-25 01:55:25 +00:00
Eric Fiselier
0ddb77a467 Implement filesystem_error::what() and improve reporting.
This patch implements the `what()` for filesystem errors. The message
includes the 'what_arg', any paths that were specified, and the
error code message.

Additionally this patch refactors how errors are created, making it easier
to report them correctly.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@337664 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-23 02:00:52 +00:00
Marshall Clow
1f655099cf Fix HTML blunder
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@336381 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-05 17:44:12 +00:00
Marshall Clow
64c10d00c3 Implement LWG 2946, 3075 and 3076. Reviewed as https://reviews.llvm.org/D48616
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@336132 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-02 18:41:15 +00:00
Marshall Clow
8d00e543f4 Remove P0771, which was not passed in Rapperswil
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@334894 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-16 18:03:29 +00:00
Marshall Clow
385a6d473f Update the to-do list with motions from Rapperswil.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@334467 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-12 02:45:30 +00:00
Marshall Clow
ece1de8658 Mark <span> as "In progress"
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@329375 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-06 04:43:27 +00:00
Marshall Clow
0b261846c9 Implement P0754R2: The <version> header.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@329075 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-03 15:48:24 +00:00
Eric Fiselier
1e34c76d33 Implement filesystem NB comments, relative paths, and related issues.
This is a fairly large patch that implements all of the filesystem NB comments
and the relative paths changes (ex. adding weakly_canonical). These issues
and papers are all interrelated so their implementation couldn't be split up
nicely.

This patch upgrades <experimental/filesystem> to match the C++17 spec and not
the published experimental TS spec. Some of the changes in this patch are both
API and ABI breaking, however libc++ makes no guarantee about stability for
experimental implementations.

The major changes in this patch are:

* Implement NB comments for filesystem (P0492R2), including:
  * Implement `perm_options` enum as part of NB comments, and update the
    `permissions` function to match.
  * Implement changes to `remove_filename` and `replace_filename`
  * Implement changes to `path::stem()` and `path::extension()` which support
    splitting examples like `.profile`.
  * Change path iteration to return an empty path instead of '.' for trailing
    separators.
  * Change `operator/=` to handle absolute paths on the RHS.
  * Change `absolute` to no longer accept a current path argument.

* Implement relative paths according to NB comments (P0219r1)

* Combine `path.cpp` and `operations.cpp` since some path functions require
  access to the operations internals, and some fs operations require access
  to the path parser.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@329028 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-02 23:03:41 +00:00
Marshall Clow
256f187bc6 Implement LWG3034: P0767R1 breaks previously-standard-layout types
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@328064 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-21 00:36:05 +00:00
Marshall Clow
6ce040b9aa Updated C++2a status with changes from Jacksonville WG21 meeting
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@327806 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-18 19:29:21 +00:00
Marshall Clow
06ac7cdfc7 Implement P0767R1 - Deprecate POD
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@326801 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-06 15:01:19 +00:00
Marshall Clow
c387931db5 Mark P0777 as complete
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@324399 91177308-0d34-0410-b5e6-96231b3b80d8
2018-02-06 21:00:58 +00:00
Marshall Clow
37e4c9b159 Implement LWG2870: Default value of parameter theta of polar should be dependent
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@323918 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-31 21:42:39 +00:00
Marshall Clow
cc7048888e Implement LWG2783: stack::emplace() and queue::emplace() should return decltype(auto)
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@323385 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-24 22:42:25 +00:00
Marshall Clow
e2341acabb Update cxx2a status
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@323160 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-22 23:17:20 +00:00
Marshall Clow
8d0d82585a First part of P0202: Adding constexpr modifiers to functions in <algorithm> and <utility>. This commit is all the is_XXX algorithms.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322489 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-15 16:16:32 +00:00
Marshall Clow
8f6293b39e Implement more of P0600: '[[nodiscard]] in the library' for C++2a
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@319710 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-04 23:03:42 +00:00
Marshall Clow
46b4ad5400 Implement P0457R2: 'String Prefix and Suffix Checking' for c++2a
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@319687 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-04 20:11:38 +00:00
Marshall Clow
14ff89947c Implement LWG#2921 and LWG#2976 - removing allocator support from packaged_task.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@319080 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-27 19:43:28 +00:00
Marshall Clow
b25029437e Implement LWG#2948: unique_ptr does not define operator<< for stream output
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@319038 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-27 15:51:36 +00:00
Marshall Clow
0140bb8196 Update C++2a status and add Glen to CREDITS.TXT. Reviewed as https://reviews.llvm.org/D40379
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318919 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-23 14:50:56 +00:00
Marshall Clow
52728778fa Implement LWG2950: std::byte operations are misspecified
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318125 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-14 01:14:53 +00:00
Marshall Clow
e1cfe7a7f6 Implement LWG2952: iterator_traits should work for pointers to cv T
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318119 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-14 00:03:10 +00:00
Marshall Clow
928f2866ec Put the status in the wrong column
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318012 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-13 04:15:39 +00:00
Marshall Clow
edd7e051d4 Implement P0550R2: Transformation Trait remove_cvref
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318011 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-13 03:59:22 +00:00
Marshall Clow
7513814cb6 Two more papers from Albuquerque
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318000 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-12 18:52:16 +00:00
Marshall Clow
55eda5dfcc Updated C++2a status page with new features/defects approved in Albuquerque.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@317996 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-12 18:48:42 +00:00
Marshall Clow
e3853bfecd Mark Endian as 'in progress'
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@317209 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-02 14:53:08 +00:00
Stephan T. Lavavej
f966d3f5c4 [libcxx] [www] Manually change http links to https.
Fixes D37318.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@312260 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-31 17:59:42 +00:00
Stephan T. Lavavej
1e708af617 [libcxx] [www] Semi-manually change http://www.open-std.org and http://isocpp.org papers to https://wg21.link .
Fixes D37318.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@312259 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-31 17:59:39 +00:00
Stephan T. Lavavej
819264f0ff [libcxx] [www] Change http://wg21.link to https://wg21.link .
Fixes D37318.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@312257 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-31 17:59:33 +00:00
Eric Fiselier
4876a73b0a Mark LWG 2942 as complete
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@309528 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-30 22:28:08 +00:00
Eric Fiselier
923850ddb2 Mark LWG 2961 as complete
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@309527 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-30 22:16:30 +00:00
Marshall Clow
f226a28d61 Implement P0739R0: 'Some improvements to class template argument deduction integration into the standard library' This is an API change (not ABI change) due to a late change in the c++17 standard
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@309296 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-27 17:44:03 +00:00
Marshall Clow
893ac44f2a Update libc++ status pages with results of the Toronto Meeting - and for C++2a
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@308153 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-16 23:59:23 +00:00