Page MenuHomePhabricator

mclow.lists (Marshall Clow)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 16 2012, 3:06 PM (392 w, 2 h)

Recent Activity

Sat, Jan 4

mclow.lists added a comment to D71994: SFINAE span default constructor on Extent == 0.

Also if we would not remove the default constructor span<T, 2> would fulfill the`default_constructible` concept although it does not.

Sat, Jan 4, 9:22 PM · Restricted Project

Thu, Jan 2

mclow.lists added a comment to D71994: SFINAE span default constructor on Extent == 0.

What is the benefit to the user to have this constructor SFINAE away?
With static_assert we can craft an error message.

Thu, Jan 2, 5:47 PM · Restricted Project
mclow.lists added inline comments to D72036: [libcxx] span: Cleanup includes.
Thu, Jan 2, 1:27 PM · Restricted Project

Wed, Jan 1

mclow.lists added inline comments to D72036: [libcxx] span: Cleanup includes.
Wed, Jan 1, 7:53 AM · Restricted Project
mclow.lists requested changes to D72036: [libcxx] span: Cleanup includes.

I'm fine with the other changes here, but not the array change.

Wed, Jan 1, 7:49 AM · Restricted Project

Sun, Dec 29

mclow.lists accepted D69603: [libcxx] Add deduction guides for shared_ptr and weak_ptr.

This looks good to me now.
You need to update www/cxx17_status.html appropriately as well.

Sun, Dec 29, 8:46 PM

Thu, Dec 26

mclow.lists accepted D71908: [libcxx] [test] Include missing <limits> header..

LGTM

Thu, Dec 26, 4:32 PM · Restricted Project

Dec 17 2019

mclow.lists added a comment to D71459: [libcxx] Fix include paths in fuzzing/partial_sort.pass.cpp.

Please don't commit to libc++ w/o approval from one of the "approvers": @mclow.lists, @EricWF or @ldionne .

Dec 17 2019, 9:45 AM · Restricted Project

Dec 16 2019

mclow.lists added a comment to D69466: Guard against overflow in span::subspan.

If the tests are calling operator[] on a span<T, 0>, then they are incorrect and should be changed.

Dec 16 2019, 9:29 AM · Restricted Project
mclow.lists added a comment to D69466: Guard against overflow in span::subspan.

I also believe that we should add a static assert to operator[] similar to front() and back(). Unfortunately there are multiple tests that rely on operator[] of a statically empty span. Thoughts?

Dec 16 2019, 8:34 AM · Restricted Project
mclow.lists added a comment to D69466: Guard against overflow in span::subspan.

There's at least three things going on in this patch; and that makes it harder to review:

  • Rename all the index_types to size_type.
  • Add static_assert to several cases
  • Guard against overflow in span::subspan (ostensibly the purpose of this patch).
Dec 16 2019, 8:34 AM · Restricted Project
mclow.lists accepted D71525: [libc++] Fix typo in std::midpoint.

Huh. I thought I fixed that typo. Anyway this LGTM.

Dec 16 2019, 8:25 AM · Restricted Project

Dec 12 2019

mclow.lists added a comment to D71395: [libc++] Fix -Wdeprecated-copy warnings in __bit_reference.

It appears that we have multiple things in review here.
See also D71096.
Also, is this in response to https://bugs.llvm.org/show_bug.cgi?id=44145 ? (which was closed as 'works for me')

Dec 12 2019, 7:27 AM · Restricted Project
mclow.lists added a comment to D71096: __bit_reference: fix -Wdeprecated-copy warnings.

Is this related to https://bugs.llvm.org/show_bug.cgi?id=44145 ?

Dec 12 2019, 7:20 AM · Restricted Project

Dec 1 2019

mclow.lists added a comment to D70873: [LIBC++]std::reduce(begin, end, init) does not accept init with only move constructor.

I don't think that https://bugs.llvm.org/show_bug.cgi?id=43013 is actually a bug.

Dec 1 2019, 1:34 PM · Restricted Project

Nov 27 2019

mclow.lists requested changes to D70772: 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..

This is a mess.
The changes in libcxx/CMakeLists.txt are unrelated to P0616.
The changes in algorithm are also unrelated to P0616.
The changes in forward_list are also unrelated to P0616, and are based on an outdated version of that file.
You proposed the changes in numeric before (in D69286) and then never came back to them.
And you have no tests.

Nov 27 2019, 12:00 PM · Restricted Project
mclow.lists committed rG703c26f03be7: Optimize and fix basic_string move assignment operator. Reviewed as https… (authored by mclow.lists).
Optimize and fix basic_string move assignment operator. Reviewed as https…
Nov 27 2019, 7:22 AM

Nov 25 2019

mclow.lists accepted D69983: [libcxx] Omit unneeded locale fallbacks on Android 21+.

LGTM.

Nov 25 2019, 11:04 AM · Restricted Project

Nov 18 2019

mclow.lists added a comment to D69882: [libc++] [P0325] Implement to_array from LFTS with updates..

What's the usual way of proceeding, should I land the patch or wait for Louis' approval?

Nov 18 2019, 9:38 AM · Restricted Project

Nov 15 2019

mclow.lists accepted D70282: [libc++] [chrono] Fix year_month_weekday::ok() implementation..

LGTM, thanks.

Nov 15 2019, 5:37 AM · Restricted Project
mclow.lists added inline comments to D70282: [libc++] [chrono] Fix year_month_weekday::ok() implementation..
Nov 15 2019, 1:06 AM · Restricted Project
mclow.lists added a comment to D70282: [libc++] [chrono] Fix year_month_weekday::ok() implementation..

The code here looks fine to me, but I want to think about the tests for a bit.
Thanks for the patch.

Nov 15 2019, 12:06 AM · Restricted Project

Nov 14 2019

mclow.lists requested changes to D69286: 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..

One feature per patch, please.

Nov 14 2019, 11:57 PM · Restricted Project
mclow.lists added a comment to D69292: Proposal to add -Wtautological-compare to -Wall.

Sorry I'm late to the party; I've been traveling for 3+ weeks.
I would like to be reassured that the following code will not warn:

Nov 14 2019, 11:55 PM · Restricted Project
mclow.lists added a comment to D69459: Optimize std::midpoint for integers.

I did some playing with compiler explorer, and got even better codegen by sprinkling casts to _Up over the calculation to __half_diff.
This only makes a difference if _Tp is smaller than int.

Nov 14 2019, 8:52 AM · Restricted Project

Nov 11 2019

mclow.lists committed rG2f4fb200b6be: libc++ status page: New papers and issues adopted in Belfast (authored by mclow.lists).
libc++ status page: New papers and issues adopted in Belfast
Nov 11 2019, 12:13 AM

Nov 2 2019

mclow.lists added a comment to D69554: [libcxx] [Windows] Make a more proper implementation of strftime_l for mingw with msvcrt.dll.

This looks reasonable to me, but I noticed that there's a behavior difference - __libcpp_locale_guard has been added. (previously the loc parameter was ignored).

Nov 2 2019, 11:43 AM · Restricted Project

Nov 1 2019

mclow.lists added inline comments to D69520: [libc++] Disallow dynamic -> static span conversions.
Nov 1 2019, 12:39 AM

Oct 31 2019

mclow.lists requested changes to D69603: [libcxx] Add deduction guides for shared_ptr and weak_ptr.
Oct 31 2019, 11:34 PM
mclow.lists added a comment to D69603: [libcxx] Add deduction guides for shared_ptr and weak_ptr.

The tests should be more comprehensive; they should ASSERT_SAME_TYPE(decltype(s), XXX) to make sure that the deduction guides actually return the correct type, rather than just compile.

Oct 31 2019, 11:34 PM

Oct 30 2019

mclow.lists accepted D69504: [libunwind] [Windows] Add a log message if EnumProcessModules fails.

LGTM.

Oct 30 2019, 10:56 PM · Restricted Project

Oct 27 2019

mclow.lists accepted D69459: Optimize std::midpoint for integers.

This looks good to me.
Shorter code, still no branches; passes all the tests.

Oct 27 2019, 12:29 PM · Restricted Project

Oct 26 2019

mclow.lists committed rG82b82e39c457: Add all the issues to be voted upon in Belfast (authored by mclow.lists).
Add all the issues to be voted upon in Belfast
Oct 26 2019, 7:54 AM

Oct 22 2019

mclow.lists created D69314: Bug fix for PR#43703.
Oct 22 2019, 11:07 AM

Oct 21 2019

mclow.lists added a comment to D68952: Guard against possible overflow in span.subpan.

When implementing span for MS STL I locally used the libcx tests against my implementation, i found that there are some instances where libcxx is not fully conforming (due to rapidly shifting span specification). Should I prepare one big patch or go on incrementally.

Oct 21 2019, 10:07 AM

Oct 20 2019

mclow.lists added a comment to D68952: Guard against possible overflow in span.subpan.

As a side note we could also simplify the non templated subspan method

[snip]

Oct 20 2019, 8:20 PM
mclow.lists requested changes to D68952: Guard against possible overflow in span.subpan.

This looks fine to me, except that there's no test to show that it works.

Oct 20 2019, 8:16 PM

Oct 11 2019

mclow.lists accepted D68623: Optimize and fix basic_string move assignment operator.

I'm fine with incremental changes.
It would be nice to have a test case for a allocator that throws on move-assignment, though.

Oct 11 2019, 11:46 AM · Restricted Project
mclow.lists added a comment to D68623: Optimize and fix basic_string move assignment operator.

Thinking about this some more, I agree with your analysis about the move assignment throwing.

Oct 11 2019, 10:33 AM · Restricted Project

Oct 10 2019

mclow.lists added a comment to D68837: [libc++][P0202] Marked algorithms copy/copy_n/copy_if/copy_backward constexpr..

Nice use of __libcpp_is_constant_evaluated(), but how will that play for C++03?

Oct 10 2019, 8:49 PM · Restricted Project
mclow.lists added a comment to D68623: Optimize and fix basic_string move assignment operator.

This looks ok to me. If you're concerned about performance, you might want to split this into two routines, one for the case were the allocators are equal, and one for the case where they're not (and skip the whole allocator dance for the equal case.)

Oct 10 2019, 8:43 PM · Restricted Project

Oct 7 2019

mclow.lists added a comment to D68623: Optimize and fix basic_string move assignment operator.

I'm wondering where you are seeing getting this codegen from.

Oct 7 2019, 7:00 PM · Restricted Project
mclow.lists added a comment to D68617: partially inline copy constructor basic_string(const basic_string&[, allocator]).

A couple of things:

  1. Can you give your patches a better title? "Optimize copy constructor" is not very informative. Which copy constructor?
  2. What does this do it the dylib - where basic_string<char> and basic_string<wchar_t> are externally instantiated?
Oct 7 2019, 6:25 PM · Restricted Project

Oct 3 2019

mclow.lists added a comment to D68364: Prototype implementation of P0784R7: mark all members of std::allocator and std::allocator_traits as constexpr..

Thanks for doing this, Richard.
A few things:

  • Needs tests (as you said)
  • The config macro stuff is all wrong (we build that file from a template)
  • Use __libcpp_is_constant_evaluated instead of __builtin_is_constant_evaluated because it doesn't have to be #ifdefed. (see r364873 and r364884)
  • If we're in a consteval block, we shouldn't be testing for exceptions being disabled, right?
Oct 3 2019, 7:52 AM · Restricted Project, Restricted Project
mclow.lists added a comment to D68269: [libc++abi] Do not define new/delete by default.

If the Android and FreeBSD folks are ok with this, I'm fine with it

Oct 3 2019, 6:43 AM · Restricted Project

Sep 26 2019

mclow.lists added a comment to D68075: Do not #error if no OS is #defined.

Hi @ldionne – That's a good question and I don't know the answer. If it's okay with you, I'd like to keep this change request narrowly focused on getting libcxx to work at all with freestanding environments.

Sep 26 2019, 9:56 AM · Restricted Project, Restricted Project
mclow.lists added a comment to D68075: Do not #error if no OS is #defined.

This is unfortunate and unnecessary. In particular, this breaks two clang tests if clang is configured to use libcxx as the default C++ standard library.

Sep 26 2019, 9:56 AM · Restricted Project, Restricted Project

Sep 25 2019

mclow.lists committed rGe3f89a989a23: Add a missing default parameter to regex::assign. This is LWG3296; reviewed as… (authored by mclow.lists).
Add a missing default parameter to regex::assign. This is LWG3296; reviewed as…
Sep 25 2019, 9:42 AM
mclow.lists closed D67944: Implement LWG 3296.
Sep 25 2019, 9:42 AM · Restricted Project
mclow.lists accepted D67944: Implement LWG 3296.

Committed as revision 372896

Sep 25 2019, 9:42 AM · Restricted Project

Sep 24 2019

mclow.lists accepted D65161: [libc++] Implement LWG 2510.

this looks fine to me now (with a nit).

Sep 24 2019, 12:36 PM · Restricted Project, Restricted Project
mclow.lists added a comment to D67944: Implement LWG 3296.

Can you use clang-format instead of custom formatting?

Sep 24 2019, 11:10 AM · Restricted Project

Sep 23 2019

mclow.lists added inline comments to D67944: Implement LWG 3296.
Sep 23 2019, 6:07 PM · Restricted Project
mclow.lists created D67944: Implement LWG 3296.
Sep 23 2019, 6:07 PM · Restricted Project

Sep 22 2019

mclow.lists committed rGab8f77a73e54: Revert "Extension: Mark the default constructor of chrono::duration as… (authored by mclow.lists).
Revert "Extension: Mark the default constructor of chrono::duration as…
Sep 22 2019, 11:18 PM
mclow.lists committed rGd8ac51ab8fde: Extension: Mark the default constructor of chrono::duration as conditionally… (authored by mclow.lists).
Extension: Mark the default constructor of chrono::duration as conditionally…
Sep 22 2019, 9:20 PM

Sep 13 2019

mclow.lists committed rG7b81a13bfcd1: Only initialize the streams cout/wcout/cerr/wcerr etc once, rather than any… (authored by mclow.lists).
Only initialize the streams cout/wcout/cerr/wcerr etc once, rather than any…
Sep 13 2019, 8:28 AM

Sep 12 2019

mclow.lists added inline comments to D66262: Constrain tuple/unique_ptr move constructors (2899).
Sep 12 2019, 8:37 AM · Restricted Project
mclow.lists requested changes to D66103: implement std::to_array (P0325R3).
Sep 12 2019, 8:19 AM · Restricted Project
mclow.lists abandoned D65895: Fix a layering violation in mutex - prep for fixing PR42918.

This has been landed, and the breakage has been fixed.

Sep 12 2019, 7:04 AM
mclow.lists accepted D65232: [libc++] Implement LWG 3158.

This looks fine to me; please update www/cxx2a_status.html when you commit.

Sep 12 2019, 7:03 AM · Restricted Project, Restricted Project
mclow.lists accepted D66611: Mark issue 2587 resolved by issue 2567..

LGTM

Sep 12 2019, 7:03 AM · Restricted Project

Sep 11 2019

mclow.lists added a comment to D67466: [libcxx] Annotate unique_lock and shared_lock with thread annotations.

It would be nice to have a test (in test/libcxx) to check that these annotations are in the expected places.

Sep 11 2019, 7:38 PM
mclow.lists accepted D65260: [libc++] Consolidate swap, swap_ranges, and iter_swap in <type_traits>. NFC..

With the comment change I suggested, I am fine with this.

Sep 11 2019, 10:17 AM
mclow.lists added inline comments to D67086: Implement syncstream (p0053).
Sep 11 2019, 10:00 AM · Restricted Project
mclow.lists added a comment to D65260: [libc++] Consolidate swap, swap_ranges, and iter_swap in <type_traits>. NFC..

zoecarver accepted this revision

@zoecarver is not an approver for libc++.

Sep 11 2019, 9:52 AM
mclow.lists added a comment to D62451: Regex backreference [1/3] Fixes backreferences for extended grammar..

I'm not a big fan of duplicated code; but especially in this case, since in D62453 you edit the duplicated code to add a throw; but you have to do it twice - once in __parse_backref and once in the new code. Why is that preferable?

Sep 11 2019, 9:34 AM · Restricted Project
mclow.lists added inline comments to D67086: Implement syncstream (p0053).
Sep 11 2019, 8:54 AM · Restricted Project
mclow.lists added inline comments to D67086: Implement syncstream (p0053).
Sep 11 2019, 8:29 AM · Restricted Project

Sep 10 2019

mclow.lists added inline comments to D62778: [1/2] Add a benchmark for map operations..
Sep 10 2019, 4:49 PM · Restricted Project
mclow.lists added a comment to D67086: Implement syncstream (p0053).

Maybe I'm missing something, but I don't see any synchronization between two syncstreams wrapping the same stream.

Sep 10 2019, 10:40 AM · Restricted Project
mclow.lists added a comment to D67086: Implement syncstream (p0053).

A general comment about the tests: You've got a bunch of methods marked "noexcept", but nowhere to I see ASSERT_NOEXCEPT or ASSERT_NOT_NOEXCEPT in the tests to check that.

Sep 10 2019, 10:03 AM · Restricted Project

Sep 7 2019

mclow.lists accepted D67316: Remove ::gets for FreeBSD 13 and later.

LGTM with the one change I suggested.

Sep 7 2019, 12:53 PM · Restricted Project
mclow.lists added a comment to D67316: Remove ::gets for FreeBSD 13 and later.
Sep 7 2019, 8:18 AM · Restricted Project
mclow.lists added a comment to D67316: Remove ::gets for FreeBSD 13 and later.

I'm wondering if this has become complicated enough that we should define a _LIBCPP_C_HAS_NO_GETS config macro.

Sep 7 2019, 6:57 AM · Restricted Project

Sep 5 2019

mclow.lists added inline comments to D66262: Constrain tuple/unique_ptr move constructors (2899).
Sep 5 2019, 10:15 AM · Restricted Project

Sep 4 2019

mclow.lists committed rGb7ebdbdb357f: Reformat the beginning of the testing doc to make clear how to run all the… (authored by mclow.lists).
Reformat the beginning of the testing doc to make clear how to run all the…
Sep 4 2019, 5:38 PM
mclow.lists added inline comments to D66262: Constrain tuple/unique_ptr move constructors (2899).
Sep 4 2019, 11:28 AM · Restricted Project
mclow.lists added a comment to D66970: [libc++] Explicitly provide a list of exported symbols for libc++.

I see maintaining an explicit list of exports as an ongoing time sink - are you sure this is the the direction that we want to take?

Sep 4 2019, 7:56 AM · Restricted Project
mclow.lists added a comment to D66614: Add inline to uflow and underflow.

I only intend to inline uflow and underflow.

Sep 4 2019, 7:53 AM

Sep 3 2019

mclow.lists added a comment to D67052: Add reference type transformation builtins.

If you're going to do __add__lvalue_reference, __add_rvalue_reference, and __remove_reference, why not go all the way and add __is_reference, __is_lvalue_reference and __is_rvalue_reference?

Sep 3 2019, 1:40 PM · Restricted Project, Restricted Project

Aug 26 2019

mclow.lists added inline comments to D62889: rvalue stream operators (1203 and 2534).
Aug 26 2019, 4:16 PM · Restricted Project

Aug 23 2019

mclow.lists added a comment to D66614: Add inline to uflow and underflow.

The templates basic_streambuf<char> and basic_streambuf<wchar> are externally instantiated in the libc++.dylib.
Marking them as inline would remove them from the dylib, breaking any existing binaries that refer to them.

Aug 23 2019, 6:30 PM

Aug 21 2019

mclow.lists accepted D66518: [libcxx] Only declare contents of threading API when _LIBCPP_HAS_THREAD_API_EXTERNAL is not defined..

This seems to work for me (pthreads and nothreads).
In general, I think we're playing "whack-a-mole' with this chunk of code, and I've become fairly unhappy with it.

Aug 21 2019, 8:20 AM · Restricted Project, Restricted Project
mclow.lists added inline comments to D62451: Regex backreference [1/3] Fixes backreferences for extended grammar..
Aug 21 2019, 7:57 AM · Restricted Project

Aug 20 2019

mclow.lists committed rG4f41779cca7d: Add a missing _VSTD:: before a call to merge. Fixes PR43034. Checked the rest… (authored by mclow.lists).
Add a missing _VSTD:: before a call to merge. Fixes PR43034. Checked the rest…
Aug 20 2019, 3:25 PM
mclow.lists committed rG7fa686539269: Fix a couple of unguarded operator, calls in algorithm. Fixes PR#43063. Updated… (authored by mclow.lists).
Fix a couple of unguarded operator, calls in algorithm. Fixes PR#43063. Updated…
Aug 20 2019, 2:33 PM
mclow.lists accepted D65105: [libc++] Implement LWG 3199.

LGTM.

Aug 20 2019, 10:27 AM · Restricted Project, Restricted Project
mclow.lists committed rG696630eaf283: Fix availability of __thread_id on builds with external threading. Reviewed as… (authored by mclow.lists).
Fix availability of __thread_id on builds with external threading. Reviewed as…
Aug 20 2019, 9:17 AM
mclow.lists closed D66480: Fix unavailability of __thread_id on external builds.

Committed as revision 369399.

Aug 20 2019, 9:15 AM · Restricted Project
mclow.lists added a comment to D66480: Fix unavailability of __thread_id on external builds.

This is an alternative to D66301

Aug 20 2019, 8:48 AM · Restricted Project
mclow.lists added a comment to D66301: [libcxx] __thread_id should be available when an external threading API is used..

I put an alternate solution up as D66480

Aug 20 2019, 8:48 AM
mclow.lists accepted D57778: std::abs should not return double (2735).

LGTM.

Aug 20 2019, 8:33 AM
mclow.lists created D66480: Fix unavailability of __thread_id on external builds.
Aug 20 2019, 8:24 AM · Restricted Project

Aug 19 2019

mclow.lists added inline comments to D57778: std::abs should not return double (2735).
Aug 19 2019, 6:15 PM
mclow.lists added a comment to D66301: [libcxx] __thread_id should be available when an external threading API is used..

Yes. Because then it would be in the global namespace.

Aug 19 2019, 7:27 AM

Aug 16 2019

mclow.lists added inline comments to D65667: [libcxx] Avoid destructor call for error_category singletons.
Aug 16 2019, 4:03 PM · Restricted Project
mclow.lists added inline comments to D65667: [libcxx] Avoid destructor call for error_category singletons.
Aug 16 2019, 2:49 PM · Restricted Project
mclow.lists added inline comments to D65667: [libcxx] Avoid destructor call for error_category singletons.
Aug 16 2019, 2:47 PM · Restricted Project
mclow.lists added inline comments to D63284: [libc++] Keep __regex_word in sync with ctype_base.
Aug 16 2019, 7:53 AM · Restricted Project, Restricted Project