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 (421 w, 1 d)

Recent Activity

Thu, Aug 6

mclow.lists added a comment to D85466: [libcxx] Add C++20 source_location header.

A couple of quick comments, more to come.

Thu, Aug 6, 1:05 PM · Restricted Project

Thu, Jul 30

mclow.lists added inline comments to D84943: [libc++] Remove workarounds for missing rvalue references.
Thu, Jul 30, 6:52 AM · Restricted Project

Tue, Jul 21

mclow.lists added a comment to D84275: [Libcxx] Finish implementing Paper 0202R3.

I see no tests.

Tue, Jul 21, 4:49 PM · Restricted Project

Sat, Jul 18

mclow.lists added a comment to D82627: Fix CFI issues in <future>.

You are right. CFI also checks reinterpret_casts even if they are not UB, because they are just as likely to be a source of type confusion bugs. So, the choice here is between this change, and _LIBCPP_NO_CFI attribute. The attribute change would ideally move the casts into a helper function to avoid suppressing too much checking.

Sat, Jul 18, 6:41 AM · Restricted Project

Jun 30 2020

mclow.lists added a comment to D82810: [libc++abi] Remove unused include of <sys/types.h>.

Might be useful to just run IWYU over the tree at some point to remove extraneous headers.

Jun 30 2020, 9:11 AM · Restricted Project

Jun 29 2020

mclow.lists added a comment to D82809: Optimize vector push_back for hot loops / push_back fill invocations.

General comment: would it not be better to make the compiler smarter to solve this (and reap the benefits for vector and other code)?

Jun 29 2020, 2:58 PM · Restricted Project

Jun 16 2020

mclow.lists added inline comments to D81954: Remove the try/catch codepath if `swap` is `noexcept`..
Jun 16 2020, 11:33 AM · Restricted Project
mclow.lists added a comment to D81425: [libc++] Don't force a conversion to difference_type in std::advance.

I wouldn't change the __advance definitions. That's just spreading the pain around. Convert from Distance to iterator_traits<...>::difference_type in advance

Jun 16 2020, 7:42 AM · Restricted Project

Jun 15 2020

mclow.lists added a comment to D81425: [libc++] Don't force a conversion to difference_type in std::advance.

I think it's weird to have a wide open template parameter like this in std::distance, but it appears to be what the Standard wants.

Jun 15 2020, 5:08 PM · Restricted Project

Jun 4 2020

mclow.lists added inline comments to D81133: Use allocator_traits to consistently allocate/deallocate/construct/destroy objects in std::any.
Jun 4 2020, 8:44 AM · Restricted Project
mclow.lists added inline comments to D81133: Use allocator_traits to consistently allocate/deallocate/construct/destroy objects in std::any.
Jun 4 2020, 8:11 AM · Restricted Project
mclow.lists updated the summary of D81133: Use allocator_traits to consistently allocate/deallocate/construct/destroy objects in std::any.
Jun 4 2020, 8:11 AM · Restricted Project
mclow.lists added a comment to D81133: Use allocator_traits to consistently allocate/deallocate/construct/destroy objects in std::any.

So I don't understand what the observable difference is here. Could you add a test?

Jun 4 2020, 7:38 AM · Restricted Project

Jun 3 2020

mclow.lists added a reviewer for D81133: Use allocator_traits to consistently allocate/deallocate/construct/destroy objects in std::any: tkoeppe.
Jun 3 2020, 11:57 PM · Restricted Project
mclow.lists created D81133: Use allocator_traits to consistently allocate/deallocate/construct/destroy objects in std::any.
Jun 3 2020, 11:57 PM · Restricted Project
mclow.lists updated the summary of D81133: Use allocator_traits to consistently allocate/deallocate/construct/destroy objects in std::any.
Jun 3 2020, 11:57 PM · Restricted Project
mclow.lists added a comment to D80743: (PR46111) Properly handle elaborated types in an implicit deduction guide.

I've got nothing to say here.

Jun 3 2020, 10:25 AM · Restricted Project

May 21 2020

mclow.lists accepted D80379: [libc++] Mark __u64toa and __u32toa as noexcept.

LGTM. Feel free to ignore the clang-format whining.

May 21 2020, 4:16 PM · Restricted Project
mclow.lists requested changes to D80379: [libc++] Mark __u64toa and __u32toa as noexcept.

This is not sufficient; it just "moves the pain" from the callers code into the dylib. All the functions in charconv.cpp need to be marked as noexcept.

May 21 2020, 8:03 AM · Restricted Project

May 6 2020

mclow.lists added a comment to D79427: [libcxx] Explicitly mark erroneous string_view ctors as deleted.

BTW, string(nullptr, 0) is a valid call. The range [nullptr, nullptr) is valid.

May 6 2020, 7:30 AM

May 5 2020

mclow.lists added a comment to D79427: [libcxx] Explicitly mark erroneous string_view ctors as deleted.

You're not really solving the problem you're talking about.

May 5 2020, 3:08 PM

Feb 24 2020

mclow.lists accepted D75074: [libc++] Proper fix for libc++'s modulemap after D68480.

This looks fine to me.

Feb 24 2020, 12:57 PM · Restricted Project

Feb 16 2020

mclow.lists committed rG8424789eecd7: Update last-mod date for libcxx status page (authored by mclow.lists).
Update last-mod date for libcxx status page
Feb 16 2020, 10:00 AM
mclow.lists committed rG1a07084f6d05: Updated with list of papers and issues adopted in Prague (authored by mclow.lists).
Updated with list of papers and issues adopted in Prague
Feb 16 2020, 10:00 AM

Feb 5 2020

mclow.lists added inline comments to D74105: [asan] Adhere to AddressSanitizer's alignment requirements for the end of a region..
Feb 5 2020, 7:34 PM

Jan 23 2020

mclow.lists requested changes to D70754: [libcxx] Add support for std::reinterpret_pointer_cast.

Still no tests. This will not be committed w/o tests.

Jan 23 2020, 7:16 AM · Restricted Project, Restricted Project

Jan 20 2020

mclow.lists requested changes to D70754: [libcxx] Add support for std::reinterpret_pointer_cast.
Jan 20 2020, 8:13 PM · Restricted Project, Restricted Project
mclow.lists added a comment to D70754: [libcxx] Add support for std::reinterpret_pointer_cast.

You have no tests.
If you had tests, you would probably have noticed that you typed _UP when you meant _Up

Jan 20 2020, 8:13 PM · Restricted Project, Restricted Project

Jan 4 2020

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.

Jan 4 2020, 9:22 PM · Restricted Project

Jan 2 2020

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.

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

Jan 1 2020

mclow.lists added inline comments to D72036: [libcxx] span: Cleanup includes.
Jan 1 2020, 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.

Jan 1 2020, 7:49 AM · Restricted Project

Dec 29 2019

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.

Dec 29 2019, 8:46 PM · Restricted Project

Dec 26 2019

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

LGTM

Dec 26 2019, 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 · Restricted Project
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 · Restricted Project

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