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 (431 w, 11 h)

Recent Activity

Fri, Oct 16

mclow.lists added inline comments to D89057: Add the C++17 <memory_resource> header (mono-patch).
Fri, Oct 16, 4:22 PM · Restricted Project
mclow.lists added inline comments to D88599: [SystemZ][ZOS] Porting pthread_t related functionality within libc++ to z/OS.
Fri, Oct 16, 3:55 PM · Restricted Project
mclow.lists added inline comments to D88599: [SystemZ][ZOS] Porting pthread_t related functionality within libc++ to z/OS.
Fri, Oct 16, 12:31 PM · Restricted Project
mclow.lists added inline comments to D88599: [SystemZ][ZOS] Porting pthread_t related functionality within libc++ to z/OS.
Fri, Oct 16, 12:17 PM · Restricted Project

Wed, Oct 14

mclow.lists added a comment to D88727: vector (iterator,iterator) constructor doesn't deduce second arg.
  • Make all the containers do resolve this the same way.
Wed, Oct 14, 9:18 AM · Restricted Project
mclow.lists added a comment to D88727: vector (iterator,iterator) constructor doesn't deduce second arg.

So the goals of this patch should be:

  • Resolve the original problem,
  • Decide if the problem shown in D1723 is real, and if so, make sure that still works, and
  • Make all the containers do resolve this the same way.
Wed, Oct 14, 9:16 AM · Restricted Project
mclow.lists added a comment to D88727: vector (iterator,iterator) constructor doesn't deduce second arg.

Looks like because of this patch `vector``` deviated from other container implementation.
http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20130916/089030.html

Wed, Oct 14, 9:14 AM · Restricted Project
mclow.lists added a comment to D88727: vector (iterator,iterator) constructor doesn't deduce second arg.

Is this a problem unique to vector? Do the other containers have the same constructor? Do those constructors have the same issue?
Checking ... list does not seem to have this problem. deque does not either. forward_list does not either.

Wed, Oct 14, 8:49 AM · Restricted Project

Fri, Oct 2

mclow.lists added a comment to D88718: [libcxx] Port to NuttX(https://nuttx.apache.org/) RTOS.

A general comment - is someone going to run a libc++ test bot for NuttX? Otherwise, how will we know when changes that we make to libc++ break NuttX support?

Fri, Oct 2, 9:13 AM · Restricted Project
mclow.lists added inline comments to D88718: [libcxx] Port to NuttX(https://nuttx.apache.org/) RTOS.
Fri, Oct 2, 9:12 AM · Restricted Project
mclow.lists requested changes to D88727: vector (iterator,iterator) constructor doesn't deduce second arg.
Fri, Oct 2, 6:56 AM · Restricted Project

Wed, Sep 30

mclow.lists requested changes to D88599: [SystemZ][ZOS] Porting pthread_t related functionality within libc++ to z/OS.
Wed, Sep 30, 11:04 AM · Restricted Project

Fri, Sep 25

mclow.lists added inline comments to D87697: Do not construct std::string from nullptr.
Fri, Sep 25, 2:23 PM · Restricted Project
mclow.lists added a comment to D87697: Do not construct std::string from nullptr.

I would rather see:

llvm_unreachable("unexpected type");
return ""; // or string()
Fri, Sep 25, 1:32 PM · Restricted Project

Sep 5 2020

mclow.lists added a comment to D87185: Do not construct string from nullptr.

LGTM.

Sep 5 2020, 9:00 AM · Restricted Project

Aug 6 2020

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

A couple of quick comments, more to come.

Aug 6 2020, 1:05 PM · Restricted Project

Jul 30 2020

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

Jul 21 2020

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

I see no tests.

Jul 21 2020, 4:49 PM · Restricted Project

Jul 18 2020

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.

Jul 18 2020, 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: Implement C++20's P0784 (More constexpr containers).

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++] Define new/delete in libc++abi only 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, 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