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 (352 w, 4 d)

Recent Activity

Yesterday

mclow.lists added inline comments to D56500: [libcxx] Fix order checking in unordered_multiset tests..
Fri, Apr 19, 7:40 AM
mclow.lists added inline comments to D56500: [libcxx] Fix order checking in unordered_multiset tests..
Fri, Apr 19, 7:38 AM

Wed, Apr 17

mclow.lists added a comment to D60417: [libunwind] Add support for ARMv7-M architecture which uses the Thumb 2 ISA (unified syntax).

I have no problem with this.

Wed, Apr 17, 2:52 PM · Restricted Project

Tue, Apr 16

mclow.lists committed rG83465c79385c: Add tests for stability to list::sort and forward_list::sort. Thanks to… (authored by mclow.lists).
Add tests for stability to list::sort and forward_list::sort. Thanks to…
Tue, Apr 16, 5:12 PM
mclow.lists committed rG896b0c7b999f: Fix list/forward_list implementations of remove_if and unique to deal with… (authored by mclow.lists).
Fix list/forward_list implementations of remove_if and unique to deal with…
Tue, Apr 16, 3:12 PM
mclow.lists added a comment to D60743: Allow building without threads in standalone builds.

Why is this necessary? I just grepped the libc++abi sources, and I see no only two references to _LIBCPP_HAS_NO_THREADS, and they're both in comments (which should be fixed, btw, but that's neither here nor there).

Tue, Apr 16, 12:44 PM · Restricted Project
mclow.lists added a comment to D60717: [libc++] Remove old workaround for buildit.

This looks ok to me.

Tue, Apr 16, 12:43 PM · Restricted Project, Restricted Project

Mon, Apr 15

mclow.lists added a comment to D60371: Add lerp function to cmath (P0811R3).

The paper suggests an implementation like this:

Mon, Apr 15, 4:36 AM
mclow.lists requested changes to D60371: Add lerp function to cmath (P0811R3).

This is too simplistic.

Mon, Apr 15, 4:34 AM

Thu, Apr 4

mclow.lists added a comment to D58332: Erase-Like Algorithms Should Return size_type (P0646R1).

A meta-question:
Why does list<_Tp, _Alloc>::remove(const value_type& __x) gather all the deleted nodes into a separate list, while
list<_Tp, _Alloc>::remove_if(_Pred __pred) and list<_Tp, _Alloc>::unique() just delete them as they go?

they're all the same operation under the hood.
[ I know you didn't create this difference. ]

Thu, Apr 4, 8:58 AM
mclow.lists added a comment to D58332: Erase-Like Algorithms Should Return size_type (P0646R1).

A meta-question:
Why does list<_Tp, _Alloc>::remove(const value_type& __x) gather all the deleted nodes into a separate list, while
list<_Tp, _Alloc>::remove_if(_Pred __pred) and list<_Tp, _Alloc>::unique() just delete them as they go?

Thu, Apr 4, 8:49 AM
mclow.lists added a comment to D58332: Erase-Like Algorithms Should Return size_type (P0646R1).

Ok, so your update and my comments passed in flight. I'll try again :-)

Thu, Apr 4, 8:43 AM
mclow.lists added inline comments to D58332: Erase-Like Algorithms Should Return size_type (P0646R1).
Thu, Apr 4, 8:27 AM
mclow.lists added a comment to D58961: Remove `static` from declarations in support/musl/xlocale.h.

I think I'd like to see the actual error messages.

Thu, Apr 4, 6:35 AM · Restricted Project

Wed, Apr 3

mclow.lists added a comment to D60246: [libc++] Simple contains for associative containers.

How does this compare to D59344 ?

Wed, Apr 3, 8:59 PM · Restricted Project
mclow.lists added a comment to D60234: Added std::assoc_legendre and std::legendre [sf.cmath].

Thanks for doing all this. I'm not really ignoring these, it just seems like it. :-(

Wed, Apr 3, 4:44 PM · Restricted Project
mclow.lists added a comment to D60176: [libc++][libc++abi] Don't provide new/delete when built with ASan, HWASan or TSan.

I think we're way, way out on the bell curve here.
People who are building their own libc++ and statically linking it with libc++abi and using the sanitizers.
Those people (I believe) will be able to set a CMake flag.

Wed, Apr 3, 4:38 PM · Restricted Project
mclow.lists added a comment to D59999: Make it easier for the compiler to optimize `operator==(string,char*)`..

Thanks for debugging that. I didn't realize it didn't try to inline on purpose.
Maybe we just need to mark the function as inline, even if we also have the extern template instantiation.

Wed, Apr 3, 11:17 AM · Restricted Project
mclow.lists added a comment to D60145: libcxx: Add _LIBCPP_NODISCARD_EXT to 37 more functions.

I'm a bit worried about nodiscard_extensions.pass.cpp, because lit by default does not show warnings; just "N warnings in tests" in the summary.

(That would apply to the previous version of the test too, right?)

lit prints this for me (note -Werror):

[snip]

Does that address your concern?

Wed, Apr 3, 9:39 AM
mclow.lists added a comment to D60145: libcxx: Add _LIBCPP_NODISCARD_EXT to 37 more functions.

I'm a bit worried about nodiscard_extensions.pass.cpp, because lit by default does not show warnings; just "N warnings in tests" in the summary.

Wed, Apr 3, 7:16 AM

Tue, Apr 2

mclow.lists requested changes to D58332: Erase-Like Algorithms Should Return size_type (P0646R1).

You're going to have to find a different approach here.
Traversing the list to see how the size has changed is not acceptable.

Tue, Apr 2, 10:23 PM
mclow.lists committed rG0583d9ea8d5e: Fix backwards test that I committed yesterday. Sigh (authored by mclow.lists).
Fix backwards test that I committed yesterday. Sigh
Tue, Apr 2, 5:05 PM
mclow.lists added a comment to D60145: libcxx: Add _LIBCPP_NODISCARD_EXT to 37 more functions.

The test is obviously incomplete.

Obviously.

Tue, Apr 2, 1:48 PM
mclow.lists accepted D49863: [istream] Fix error flags and exceptions propagated from input stream operations.

I'm OK with this. I think, strictly speaking, that libc++ is following the standard, and everyone else is not - but what everyone else is doing makes sense.

Tue, Apr 2, 1:30 PM · Restricted Project, Restricted Project
mclow.lists added inline comments to D60097: Fix implementation of ::abs and std::abs LWG 2192..
Tue, Apr 2, 10:01 AM
mclow.lists committed rG3bf63cf3b366: Special case some duration arithmetic for GCC and PPC because their long double… (authored by mclow.lists).
Special case some duration arithmetic for GCC and PPC because their long double…
Tue, Apr 2, 7:45 AM
mclow.lists committed rG68ad5c34e076: Fix typo that I introduced in r357413. Thanks to ensadc@mailnesia.com for the… (authored by mclow.lists).
Fix typo that I introduced in r357413. Thanks to ensadc@mailnesia.com for the…
Tue, Apr 2, 7:00 AM
mclow.lists added inline comments to D59839: Open fstream files in O_CLOEXEC mode when possible..
Tue, Apr 2, 6:41 AM · Restricted Project

Mon, Apr 1

mclow.lists added a comment to D60105: Fix vector<bool>::const_reference to be 'bool'..

See https://stackoverflow.com/questions/31974237/why-is-libcs-vectorboolconst-reference-not-bool/31974238#31974238 for Howard's explanation of vector<bool>::const_reference

Mon, Apr 1, 5:01 PM
mclow.lists added inline comments to D60105: Fix vector<bool>::const_reference to be 'bool'..
Mon, Apr 1, 4:44 PM
mclow.lists accepted D60105: Fix vector<bool>::const_reference to be 'bool'..

Other than those nits, this looks fine to me.

Mon, Apr 1, 4:44 PM
mclow.lists added a comment to D60097: Fix implementation of ::abs and std::abs LWG 2192..

I like the tests. Still looking at the code.

Mon, Apr 1, 4:30 PM
mclow.lists added a comment to D60087: [libc++] Correctly handle Objective-C++ ARC qualifiers in std::is_pointer.

Do we have to worry about other pointer types than id?

Mon, Apr 1, 12:07 PM · Restricted Project
mclow.lists committed rGecad92b06807: Fix PR#41323 'Race condition in steady_clock::now for _LIBCPP_WIN32API'. thanks… (authored by mclow.lists).
Fix PR#41323 'Race condition in steady_clock::now for _LIBCPP_WIN32API'. thanks…
Mon, Apr 1, 10:22 AM
mclow.lists abandoned D59659: Direction for a fix of PR 41130.

I committed the tests and an alternate fix in r357410

Mon, Apr 1, 9:45 AM · Restricted Project
mclow.lists committed rGefa6d803c624: Fix PR41130 - 'operator/ of std::chrono::duration and custom type'. Thanks to… (authored by mclow.lists).
Fix PR41130 - 'operator/ of std::chrono::duration and custom type'. Thanks to…
Mon, Apr 1, 9:37 AM
mclow.lists accepted D60069: Declare std::tuple_element as struct instead of class.

I'm less enthusiastic about this change than the one for PR39871, because there we were being inconsistent with ourselves.
However, my lack of enthusiasm is no reason not to land this.

Mon, Apr 1, 9:30 AM · Restricted Project
mclow.lists added a comment to D60069: Declare std::tuple_element as struct instead of class.

Right, there shouldn't be any inheritance. Some of the public: access specifications are now redundant, though.

Mon, Apr 1, 9:16 AM · Restricted Project
mclow.lists added a comment to D60069: Declare std::tuple_element as struct instead of class.

Did you check the places that inherit from tuple_element? The public/private bits change between class and struct.

Mon, Apr 1, 8:56 AM · Restricted Project
mclow.lists added a comment to D60069: Declare std::tuple_element as struct instead of class.

Did you check the places that inherit from tuple_element? The public/private bits change between class and struct.

Mon, Apr 1, 8:50 AM · Restricted Project

Sat, Mar 30

mclow.lists requested changes to D60027: Add shift functions (P0769).

I don't think that this is right. All advance does is update an iterator. No data is being moved here.

Sat, Mar 30, 3:33 PM
mclow.lists requested changes to D60032: Add execution header.

I think we're going to get this from the work that @ldionne and Thomas Rodgers are doing on the pstl project. You should check with them.

Sat, Mar 30, 1:32 PM
mclow.lists added inline comments to D59099: Integer and pointer types of 'midpoint' from P0811.
Sat, Mar 30, 1:28 PM

Fri, Mar 29

mclow.lists closed D59099: Integer and pointer types of 'midpoint' from P0811.

Landed as r356162

Fri, Mar 29, 5:55 PM
mclow.lists closed D59598: Make the `<charconv>` header usable with C++11.

I landed this already. Closing.

Fri, Mar 29, 5:55 PM
mclow.lists added a comment to D59999: Make it easier for the compiler to optimize `operator==(string,char*)`..

So, Roman and I did some playing around with compiler explorer, and we discovered that if you define _LIBCPP_DISABLE_EXTERN_TEMPLATE so that you're not using the string code that's in the dylib, then you get the benefits of this patch w/o any code changes.

Fri, Mar 29, 1:17 PM · Restricted Project
mclow.lists added a comment to D59999: Make it easier for the compiler to optimize `operator==(string,char*)`..

I don't know about how much this will improve performance (there should be, as Roman says, before/after IR to verify this), but I'm satisfied with the correctness of this patch.

Fri, Mar 29, 12:40 PM · Restricted Project

Thu, Mar 28

mclow.lists committed rG1931c4306a38: Fix PR#35967: '<regex> syntax_option_type is not a proper bitmask' Sadly, this… (authored by mclow.lists).
Fix PR#35967: '<regex> syntax_option_type is not a proper bitmask' Sadly, this…
Thu, Mar 28, 10:31 AM

Wed, Mar 27

mclow.lists committed rG24fa56bcc8b9: Reworked all the utilities/meta tests to use ASSERT_SAME_TYPE instead of… (authored by mclow.lists).
Reworked all the utilities/meta tests to use ASSERT_SAME_TYPE instead of…
Wed, Mar 27, 8:38 PM
mclow.lists accepted D59882: [libc++] Rename span's as_writeable_bytes to as_writable_bytes.

And it is part of C++20, so it's not final anyway.

Wed, Mar 27, 5:18 PM · Restricted Project
mclow.lists added a comment to D59659: Direction for a fix of PR 41130.

We should just fix common type in C++03.

Did you commit your fix to common_type? I think this would indeed solve this whole issue, right? If so, we should only commit the tests added by this patch.

Does this make sense @mclow.lists ?

Wed, Mar 27, 2:14 PM · Restricted Project

Tue, Mar 26

mclow.lists added a comment to D59839: Open fstream files in O_CLOEXEC mode when possible..

I'm mostly worried about the change in behavior breaking existing programs.

Tue, Mar 26, 7:18 PM · Restricted Project
mclow.lists added inline comments to D59572: Fix and speedup __libcpp_locale_guard on Windows.
Tue, Mar 26, 7:17 PM
mclow.lists added inline comments to D59572: Fix and speedup __libcpp_locale_guard on Windows.
Tue, Mar 26, 2:53 PM
mclow.lists added a comment to D59839: Open fstream files in O_CLOEXEC mode when possible..

How did you decide which modes fell into "when possible"?

Tue, Mar 26, 2:53 PM · Restricted Project
mclow.lists added inline comments to D59178: [libc++] Speedup to_string and to_wstring for integers using stack buffer and SSO.
Tue, Mar 26, 10:22 AM · Restricted Project
mclow.lists added a comment to D59178: [libc++] Speedup to_string and to_wstring for integers using stack buffer and SSO.

Hi, Marshall.

I've started implementing and testing to_string via to_chars and realized that to_chars doesn't support wchar_t unlike to_wstring.
I'm going to extend __to_chars_itoa implementation in order to support wchar_t and reuse those internal template function.

Could you please confirm that this way is ok in order not to through away the third attempt on completion.

Tue, Mar 26, 9:34 AM · Restricted Project

Mon, Mar 25

mclow.lists accepted D59678: Make common_type's implementation common .

This is good by me (but you should address Marshall's comment about the tests). Cool trick with the macro for variadic templates.

Mon, Mar 25, 10:42 AM · Restricted Project
mclow.lists committed rG36db4898740f: Cleaup of requirements for optional. While researching LWG3196, I realized that… (authored by mclow.lists).
Cleaup of requirements for optional. While researching LWG3196, I realized that…
Mon, Mar 25, 9:35 AM

Fri, Mar 22

mclow.lists committed rGe1cd11d80f59: Fix a minor bug with std::next and prev not and negative numbers. In particular… (authored by mclow.lists).
Fix a minor bug with std::next and prev not and negative numbers. In particular…
Fri, Mar 22, 3:33 PM

Thu, Mar 21

mclow.lists added inline comments to D59678: Make common_type's implementation common .
Thu, Mar 21, 8:21 PM · Restricted Project
mclow.lists added inline comments to D59678: Make common_type's implementation common .
Thu, Mar 21, 6:24 PM · Restricted Project
mclow.lists added a comment to D59678: Make common_type's implementation common .

Very impressive. Still looking.

Thu, Mar 21, 5:58 PM · Restricted Project
mclow.lists committed rGa73ac7d932e1: Fix a vector test to not use a local type as a template parameter. This causes… (authored by mclow.lists).
Fix a vector test to not use a local type as a template parameter. This causes…
Thu, Mar 21, 5:49 PM
mclow.lists created D59659: Direction for a fix of PR 41130.
Thu, Mar 21, 11:35 AM · Restricted Project

Mar 20 2019

mclow.lists committed rG61914dc2fe2c: Mark <charconv> tests as unsupported for C++11 and C++14 if you're not testing… (authored by mclow.lists).
Mark <charconv> tests as unsupported for C++11 and C++14 if you're not testing…
Mar 20 2019, 12:43 PM
mclow.lists requested changes to D59178: [libc++] Speedup to_string and to_wstring for integers using stack buffer and SSO.

Now that revision 356585 has landed, we can use std::to_chars to implement to_string

Mar 20 2019, 11:20 AM · Restricted Project
mclow.lists committed rG769c2459d5c2: Make to_chars/from_chars work back to C++11. This means that we can use them to… (authored by mclow.lists).
Make to_chars/from_chars work back to C++11. This means that we can use them to…
Mar 20 2019, 11:15 AM
mclow.lists added a comment to D59598: Make the `<charconv>` header usable with C++11.

This is one acceptable reason to backport functionality to C++03 IMO. I'd rather have it be implementation details using reserved names, but this would add a lot of complexity.

Mar 20 2019, 10:03 AM
mclow.lists created D59598: Make the `<charconv>` header usable with C++11.
Mar 20 2019, 8:38 AM
mclow.lists added a comment to D59178: [libc++] Speedup to_string and to_wstring for integers using stack buffer and SSO.

In general, I'm not happy with this direction.
I think it is unwise to have two different implementations of "integer to string" functionality in the library, doing the same thing.
I'm happy with the idea of making to_string faster, but not this way.

Mar 20 2019, 6:57 AM · Restricted Project

Mar 19 2019

mclow.lists added a comment to D59525: Speed up certain locale functions on Windows.

I'm happy to not accept diffs in libc++ directly anymore and instead comment something like "LGTM, but wait for one of @mclow.lists, @EricWF, or @ldionne to review as well", but that seems like a pretty heavy handed policy for changes like this. I'm also curious if you have any specific issues with this diff, or if it's just a general principle.

Mar 19 2019, 3:10 PM · Restricted Project
mclow.lists added a comment to D59525: Speed up certain locale functions on Windows.

Thomas - reviews for libc++ must be approved by either @EricWF, @ldionne or myself. None of them approved this.

Mar 19 2019, 1:37 PM · Restricted Project

Mar 18 2019

mclow.lists committed rG9ea0e473f0b9: Mark 'front()' and 'back()' as noexcept for array/deque/string/string_view. (authored by mclow.lists).
Mark 'front()' and 'back()' as noexcept for array/deque/string/string_view.
Mar 18 2019, 8:31 PM
Herald added a project to D40181: [libcxx] Allow to set locale on Windows.: Restricted Project.

I have a bug report - https://bugs.llvm.org/show_bug.cgi?id=41131 - that says that we can reduce the number of calls in __libcpp_locale_guard from 10 to 2 by calling:
setlocale(LC_ALL, ...) . Was this considered when this patch was created?

Mar 18 2019, 5:02 PM · Restricted Project

Mar 15 2019

mclow.lists committed rG2fa901c4716f: Update a deque test with more assertions. NFC (authored by mclow.lists).
Update a deque test with more assertions. NFC
Mar 15 2019, 8:02 AM

Mar 14 2019

mclow.lists committed rG5bcca9ffd167: Mark vector::operator[] and front/back as noexcept. We already do this for… (authored by mclow.lists).
Mark vector::operator[] and front/back as noexcept. We already do this for…
Mar 14 2019, 5:29 PM
mclow.lists requested changes to D59166: Remove exception throwing debug mode handler support..

I have marked test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp and libcxx/containers/sequences/array/array.zero/db_indexing.pass.cpp because I marked operator[] and front and back as noexcept.

Mar 14 2019, 5:21 PM
mclow.lists committed rG3068500aa706: XFAIL this debug-mode test that I just broke. Eric has a patch out for review… (authored by mclow.lists).
XFAIL this debug-mode test that I just broke. Eric has a patch out for review…
Mar 14 2019, 3:27 PM
mclow.lists committed rG5f6a5ac19cdd: Add noexcept to operator[] for array and deque. This is an extension. We… (authored by mclow.lists).
Add noexcept to operator[] for array and deque. This is an extension. We…
Mar 14 2019, 2:56 PM
mclow.lists committed rG0d8df9832846: Reorg the midpoint pointer test into runtime and constexpr tests; comment out… (authored by mclow.lists).
Reorg the midpoint pointer test into runtime and constexpr tests; comment out…
Mar 14 2019, 10:43 AM
mclow.lists committed rG6f8dddf16933: Fix two of the three bot failures for midpoint; the ones regarding the lack of… (authored by mclow.lists).
Fix two of the three bot failures for midpoint; the ones regarding the lack of…
Mar 14 2019, 10:19 AM
mclow.lists committed rG330ab33f7c13: Add std::midpoint for integral and poiner types. Described in P0811, reviewed… (authored by mclow.lists).
Add std::midpoint for integral and poiner types. Described in P0811, reviewed…
Mar 14 2019, 9:26 AM

Mar 13 2019

mclow.lists added a comment to D59344: Add contains method to map types.

We don't usually gang tests for multiple containers together - one/container is more common,

Mar 13 2019, 10:28 PM

Mar 12 2019

mclow.lists added a comment to D59178: [libc++] Speedup to_string and to_wstring for integers using stack buffer and SSO.

Now that we have to_chars, can we use those facilities for to_string? (rather than duplicate them?)

Mar 12 2019, 4:17 PM · Restricted Project
mclow.lists added inline comments to D59178: [libc++] Speedup to_string and to_wstring for integers using stack buffer and SSO.
Mar 12 2019, 3:46 PM · Restricted Project
mclow.lists added a comment to D59178: [libc++] Speedup to_string and to_wstring for integers using stack buffer and SSO.

Now that we have to_chars, can we use those facilities for to_string? (rather than duplicate them?)
[ Ok, we don't have \to_chars` for FP yet ]

Mar 12 2019, 3:42 PM · Restricted Project
mclow.lists updated the diff for D59099: Integer and pointer types of 'midpoint' from P0811.

Address Eric's comments.
Remove all the explicit template lists from the tests.
Add a couple "odd" tests.
Add a couple more failing pointer tests.

Mar 12 2019, 1:39 PM
mclow.lists added inline comments to D59099: Integer and pointer types of 'midpoint' from P0811.
Mar 12 2019, 1:33 PM
mclow.lists accepted D58140: [libc++] Enable deprecation warnings by default.

Go for it. I'm curious to see how it works out :-)

Mar 12 2019, 11:11 AM · Restricted Project
mclow.lists added a comment to D58679: Update operator+ for basic_string (P1165R1).

How do the tests look? Do they need updating to ensure that we have the (new) correct behavior?

Mar 12 2019, 10:59 AM
mclow.lists requested changes to D59253: [AIX][libcxx] AIX system headers need stdint.h and inttypes.h to be re-enterable when macro _STD_TYPES_T is defined.

I see no tests here.

Mar 12 2019, 7:48 AM · Restricted Project, Restricted Project, Restricted Project

Mar 11 2019

mclow.lists accepted D59137: [libc++] Remove empty header xlocale/xlocale.h.

I'm fine with this.

Mar 11 2019, 8:15 AM · Restricted Project

Mar 8 2019

mclow.lists added a comment to D59137: [libc++] Remove empty header xlocale/xlocale.h.

So basically the contents of the file were deleted but the file itself wasn't removed

Mar 8 2019, 2:36 PM · Restricted Project
mclow.lists added a comment to D59137: [libc++] Remove empty header xlocale/xlocale.h.

It was added as part of https://reviews.llvm.org/D17416, and that is all it's ever been.

Mar 8 2019, 9:23 AM · Restricted Project

Mar 7 2019

mclow.lists added inline comments to D59093: [libc++] Mark <filesystem> as unavailable on Apple platforms.
Mar 7 2019, 10:53 AM
mclow.lists added a comment to D59093: [libc++] Mark <filesystem> as unavailable on Apple platforms.

I don't like how intrusive and pervasive this is.

Mar 7 2019, 10:36 AM
mclow.lists created D59099: Integer and pointer types of 'midpoint' from P0811.
Mar 7 2019, 9:13 AM

Mar 6 2019

mclow.lists added inline comments to D59063: Unbork `std::memory_order` ABI..
Mar 6 2019, 7:22 PM
mclow.lists added a comment to D58987: Make underlying_type SFINAE-friendly.

You should probably have at least one (and probably several) simple tests that underlying_type<non enum type> is a valid type.

using Int = std::underlying_type<int>;
using Float = std::underlying_type<float>;
Mar 6 2019, 7:18 PM