This is an archive of the discontinued LLVM Phabricator instance.

I implemented the features listed in this document: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0616r0.pdf and built libc++ using ninja without any errors/warnings. I Also ran the test suite it using `lit` and passed all the unit tests.
Needs RevisionPublic

Authored by Afadyfarag on Oct 21 2019, 3:59 PM.

Details

Summary
  1. Changes:

    libcxx/include/numeric

Event Timeline

Afadyfarag created this revision.Oct 21 2019, 3:59 PM
EricWF added inline comments.Oct 25 2019, 2:02 PM
libcxx/include/set
489

What's up with this?

Please correct the patch description and title to be clearer and not all on one line.

Also, any change to libc++ requires tests that demonstrate the changed behavior. The test should fail without your change and pass with it.
Please add some tests.

Also, please remove any unintentional changes from the patch under review.

libcxx/CMakeLists.txt
539

This change is unrelated to this patch and shouldn't be included.

libcxx/include/numeric
146

Just always include limits. No need to guard this.

Implemented P0646R1: Erase-Like Algorithms Should Return size_type.

Removed changes to Library Fundamentals V2, as that is already released.
Split the Library Fundamentals bits into a new paper to be released when LFv3 opens shop.
Changed the return type from size t to container::size type (as per LEWG request in Toronto).

Reviewers:

EricWF
ldionne
mclow.lists requested changes to this revision.Nov 14 2019, 11:57 PM

One feature per patch, please.

You've got at least three different bits of functionality here.

  1. Some random Cmake changes (no description)
  2. Some changes to forward_list that are wildly out of date.
  3. Some changes to numeric which look a lot like D61170

and you have no tests.

libcxx/include/forward_list
1505 ↗(On Diff #229452)

I don't know what version of forward_list you started with, but it's not the current one.

This revision now requires changes to proceed.Nov 14 2019, 11:57 PM