mclow.lists (Marshall Clow)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 16 2012, 3:06 PM (292 w, 4 d)

Recent Activity

Wed, Feb 21

mclow.lists added inline comments to D43579: [libcxx] Do not include the C math.h header before __config.
Wed, Feb 21, 3:25 PM
mclow.lists accepted D43579: [libcxx] Do not include the C math.h header before __config.

This LGTM.

Wed, Feb 21, 8:39 AM

Mon, Feb 19

mclow.lists added inline comments to D43273: [libcxx] [test] Fix MSVC warnings and errors..
Mon, Feb 19, 7:41 PM

Sat, Feb 17

mclow.lists accepted D41629: [libcxx] Improve accuracy of complex asinh and acosh.

LGTM. Do you need me to commit this?

Sat, Feb 17, 6:06 PM

Thu, Feb 15

mclow.lists added a comment to D43273: [libcxx] [test] Fix MSVC warnings and errors..

The <cassert> bit is fine.
The veryLarge is "ok".
The rest of them are just bogus.

Thu, Feb 15, 9:50 AM
mclow.lists added a comment to D43226: __threading_support: Remove (void) in favor of ()..

Which clang-tidy module generates this warning, and what is the actual warning?

Thu, Feb 15, 9:43 AM

Wed, Feb 14

mclow.lists added a comment to rL323490: libcxx: Move #include_next <math.h> out of header guard in wrapper header..

If we *have* to do this (and we still need to have that discussion), I think something like this would be better

Wed, Feb 14, 2:00 PM
mclow.lists added a comment to D42403: libcxx: Move #include_next <math.h> out of header guard in wrapper header..

A couple of points to consider here:

  • "Windows users expect" is not a compelling argument.
  • If done, this behavior should be windows-specific.
  • You should include <__config> before anything else.
Wed, Feb 14, 12:01 PM
mclow.lists added a comment to D43277: limits: Use `false` instead of `type(0)`..

I see no benefit to this change. bool(0) is false.

Wed, Feb 14, 11:48 AM

Tue, Feb 13

mclow.lists accepted D43167: Fix incorrect indentation..

This is fine.

Tue, Feb 13, 6:12 AM

Wed, Feb 7

mclow.lists requested changes to D26596: [RFC] Add _LIBCPP_NO_DISCARD and apply it to `Container::empty()`, `unique_ptr<T>::release()`, and `Lockable::try_lock()` .

Since we've implemented P0600, I believe that this patch is out of date.
The correct macro is _LIBCPP_NODISCARD_AFTER_CXX17, and I think that several of these cases are now handled.

Wed, Feb 7, 3:43 PM
mclow.lists accepted D41992: [libcxx] Avoid spurious construction of valarray elements.

This LGTM.

Wed, Feb 7, 10:07 AM
mclow.lists added a comment to D41629: [libcxx] Improve accuracy of complex asinh and acosh.

This all looks good to me.
I think that one more test should be added - and that's one that tests __sqr directly.
Since that's not a public routine, the test should go in "test/libcxx/numerics/complex.number"

Wed, Feb 7, 9:56 AM

Tue, Feb 6

mclow.lists added a comment to D42987: [libc++abi] fix compilation in C++17 mode.

I'm fine with this, though I wonder if using the more specific _LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS might be a better thing to define.

Tue, Feb 6, 9:42 PM
mclow.lists closed D42945: [libc++] Fix misleading indentation..
Tue, Feb 6, 11:02 AM
mclow.lists accepted D42945: [libc++] Fix misleading indentation..

Committed as revision 324378

Tue, Feb 6, 11:02 AM
mclow.lists added a comment to D42945: [libc++] Fix misleading indentation..

The second change is not quite right. There's a couple of lines that need indentation changes.
Phab is not really good about changes like this. "This file was changed only by adding or removing whitespace"

Tue, Feb 6, 10:37 AM

Tue, Jan 30

mclow.lists added a comment to D42693: [libcxx] Handle invalid escaped characters in POSIX regex.

I like this. One nit and a question.

Tue, Jan 30, 11:15 AM
mclow.lists accepted D40259: [libcxx] LWG2993: reference_wrapper<T> conversion from T&&.

Please be sure to update www/cxx2a_status.html to mark 2993 as "Complete".
Other than that, looks good to me! Thanks!

Tue, Jan 30, 6:45 AM

Thu, Jan 25

mclow.lists accepted D42518: Fix the BinaryPredicate form of std::is_permutation to not rely on operator==.

Looks good to me. Thanks!

Thu, Jan 25, 9:19 PM
mclow.lists added a comment to D42354: Fix libcxx MSVC C++17 redefinition of 'align_val_t'.

I'm pretty sure I don't want to know what MSFT is doing putting align_val_t in *that* header file.

Thu, Jan 25, 6:58 PM
mclow.lists accepted D42518: Fix the BinaryPredicate form of std::is_permutation to not rely on operator==.

This LGTM. Sorry for the breakage.
Clearly we need a test with a non op== BinaryPredicate

Thu, Jan 25, 6:11 AM
mclow.lists added inline comments to D42518: Fix the BinaryPredicate form of std::is_permutation to not rely on operator==.
Thu, Jan 25, 6:11 AM
mclow.lists added inline comments to D42518: Fix the BinaryPredicate form of std::is_permutation to not rely on operator==.
Thu, Jan 25, 6:08 AM

Jan 23 2018

mclow.lists closed D35472: Implement P0463R1: "Endian just Endian".

Committed as revision 323296

Jan 23 2018, 5:55 PM
mclow.lists added inline comments to D42357: Under limitation of allocated buffer, inplace_merge() does NOT take usage of partial allocated buffer but applies native rotate directly..
Jan 23 2018, 10:43 AM
mclow.lists accepted D42405: libcxx: Rename vasprintf function to __libcpp_vasprintf..

This looks fine to me.

Jan 23 2018, 10:23 AM
mclow.lists updated the diff for D42242: Make libc++abi work with gcc's ARM unwind library.

Find *all* the places that we are using exception_class and wrap them in helper routines.

Jan 23 2018, 10:08 AM

Jan 22 2018

mclow.lists updated the diff for D35472: Implement P0463R1: "Endian just Endian".

Update macro checks.

Jan 22 2018, 5:39 PM
mclow.lists added inline comments to D42357: Under limitation of allocated buffer, inplace_merge() does NOT take usage of partial allocated buffer but applies native rotate directly..
Jan 22 2018, 9:39 AM

Jan 21 2018

mclow.lists added a comment to D41976: Low-hanging fruit optimization in string::__move_assign()..

Since __clear_and_shrink() is private

Jan 21 2018, 11:13 AM
mclow.lists added a comment to D41976: Low-hanging fruit optimization in string::__move_assign()..

I don't have commit access myself so I've added the test to the diff.

Jan 21 2018, 10:09 AM
mclow.lists added a comment to D42344: [libc++] Use multi-key tree search for {map, set}::{count, equal_range}.
In D42344#983265, @ng wrote:

Shouldn't there be tests for multimap and multiset, too?

Sure; will the same tests as for map/set be alright?

Jan 21 2018, 9:27 AM
mclow.lists added a comment to D42344: [libc++] Use multi-key tree search for {map, set}::{count, equal_range}.
Jan 21 2018, 9:21 AM
mclow.lists added a comment to D42344: [libc++] Use multi-key tree search for {map, set}::{count, equal_range}.

Sometimes you get lucky ;-)
I have a task for next week that says "The transparent lookup stuff in the associative containers needs tests", and here is this patch.

Jan 21 2018, 9:18 AM

Jan 19 2018

mclow.lists accepted D42291: [libcxx] Correctly handle invalid regex character class names.

This looks fine to me. Thanks!

Jan 19 2018, 12:37 PM
mclow.lists added a comment to D42225: libcxx: Provide overloads for basic_filebuf::open() et al that take wchar_t* filenames on Windows..

Can we avoid the _WIN32 usage please? We spent some effort to avoid it, and have _LIBCPP_WIN32API to indicate that we want the Win32 API. I know that Marshall had some strong opinions on avoiding the _WIN32 usage, but, beyond that, I think that this is a completely reasonable thing to provide.

Jan 19 2018, 12:16 PM
mclow.lists accepted D41976: Low-hanging fruit optimization in string::__move_assign()..

This looks good to me.
Please add a test in test/libcxx/strings/string.modifiers and commit.

Jan 19 2018, 12:09 PM

Jan 18 2018

mclow.lists created D42242: Make libc++abi work with gcc's ARM unwind library.
Jan 18 2018, 7:13 AM

Jan 17 2018

mclow.lists added a comment to D42220: libcxx: Use vcruntime declarations for typeinfo on Windows..

I'd like to call attention to http://libcxxabi.llvm.org, specifically the FAQ entry: Why are the destructors for the standard exception classes defined in libc++abi? They're just empty, can't they be defined inline?

Jan 17 2018, 5:46 PM
mclow.lists accepted D42146: libcxx: Disable CFI in function std::get_temporary_buffer..

I think that there needs to be more docs on the CFI checking; https://clang.llvm.org/docs/ControlFlowIntegrity.html is about using it, not about the design, goals, and implementation.

Jan 17 2018, 11:04 AM

Jan 16 2018

mclow.lists added a comment to D41976: Low-hanging fruit optimization in string::__move_assign()..

I'm a bit leery of this patch. Not because of what it's trying to do, but rather, the introduction of a method __clear_and_shrink that leaves the string in an invalid state. For all the uses that you put it to, I don't think that's a problem (though I'm still working through the failure possibilities), but I can see other people attempting to use this method - and not realizing that you have to "put the string back together" afterwards.

Jan 16 2018, 6:51 AM

Jan 13 2018

mclow.lists added a comment to D41976: Low-hanging fruit optimization in string::__move_assign()..

Can you share your benchmark results, please?

Jan 13 2018, 8:01 AM

Jan 11 2018

mclow.lists created D41958: Create a deduction guide for basic_string.
Jan 11 2018, 11:40 AM
mclow.lists closed D28217: [libc++] Overallocation of am_pm array in locale.cpp.

Committed as r322295

Jan 11 2018, 9:18 AM
mclow.lists accepted D41830: [libc++] Fix PR#35780 - make std::experimental::filesystem::remove and remove_all return false or 0 if the file doesn't exist.

Do you need me to commit this?

Jan 11 2018, 8:38 AM
mclow.lists added inline comments to D41830: [libc++] Fix PR#35780 - make std::experimental::filesystem::remove and remove_all return false or 0 if the file doesn't exist.
Jan 11 2018, 7:28 AM
mclow.lists accepted D40677: [libcxx] Make std::basic_istream::get 0-terminate input array in case of error..

Please make the formatting match the rest of the file.

Jan 11 2018, 7:22 AM
mclow.lists added a comment to D40677: [libcxx] Make std::basic_istream::get 0-terminate input array in case of error..

A couple of nits, but other than that, looks fine.

Jan 11 2018, 6:53 AM

Jan 10 2018

mclow.lists added inline comments to D41830: [libc++] Fix PR#35780 - make std::experimental::filesystem::remove and remove_all return false or 0 if the file doesn't exist.
Jan 10 2018, 9:17 PM
mclow.lists added inline comments to D41830: [libc++] Fix PR#35780 - make std::experimental::filesystem::remove and remove_all return false or 0 if the file doesn't exist.
Jan 10 2018, 4:36 PM
mclow.lists added a comment to D41830: [libc++] Fix PR#35780 - make std::experimental::filesystem::remove and remove_all return false or 0 if the file doesn't exist.

I like the fact that you've removed the extra test that you've added.
However, I think that modifying the tests as you've done is more work than is needed.
I *suspect* that all you need to do is to move a couple of test cases from the "calls which should fail" to the "calls that should succeed" list (and adjust for the fact that the calls return false even though they succeed)

Jan 10 2018, 4:05 PM
mclow.lists accepted D41892: libcxx: Stop providing a definition of __GLIBC_PREREQ..

LGTM

Jan 10 2018, 6:53 AM

Jan 9 2018

mclow.lists accepted D41213: [libcxx] [test] Improve MSVC portability..
Jan 9 2018, 2:35 PM
mclow.lists added a comment to D41213: [libcxx] [test] Improve MSVC portability..

Investigating the assignability of not_fn. All the rest of this looks fine.

Jan 9 2018, 2:06 PM
mclow.lists added a comment to D41213: [libcxx] [test] Improve MSVC portability..

According to 15.8.2 [class.copy.assign]/2 and /4, this makes call_wrapper non-assignable.

Jan 9 2018, 1:19 PM
mclow.lists added inline comments to D41830: [libc++] Fix PR#35780 - make std::experimental::filesystem::remove and remove_all return false or 0 if the file doesn't exist.
Jan 9 2018, 11:10 AM
mclow.lists added inline comments to D41830: [libc++] Fix PR#35780 - make std::experimental::filesystem::remove and remove_all return false or 0 if the file doesn't exist.
Jan 9 2018, 10:53 AM

Jan 5 2018

mclow.lists added a comment to D41748: [libcxx] [test] Fix Xxx_scan tests using nonstandard things and MSVC++ warnings.

The use of iota targeting vector<unsigned char> with an int parameter triggers warnings on MSVC++ assigning an into a unsigned char&

Jan 5 2018, 3:52 PM

Jan 2 2018

mclow.lists abandoned D41239: Turn a config macro (_LIBCPP_HAS_NO_INLINE_VARIABLES) into an attribute macro (_LIBCPP_INLINE_VAR).

This was committed as part of r321658

Jan 2 2018, 9:18 AM

Dec 21 2017

mclow.lists added inline comments to D41498: [libcxx] Add clang negative thread safety assertions to std::mutex.
Dec 21 2017, 11:17 AM

Dec 20 2017

mclow.lists added a comment to D41458: [libc++][C++17] Elementary string conversions for integral types.

I've got an implementation for this, too - at https://github.com/mclow/snippets/blob/master/to_chars.cpp

Dec 20 2017, 2:42 PM

Dec 19 2017

mclow.lists accepted D41319: libcxx: Fix for basic_stringbuf::seekoff() after r320604..

LGTM. I'm going to sprinkle const throughout this file later, but that is a drive-by thing.
All the lines that start out ptrdiff_t __hm = will soon be const ptrdiff_t __hm = ,
but that's not necessary for this bug fix.

Dec 19 2017, 3:29 PM
mclow.lists added inline comments to D41319: libcxx: Fix for basic_stringbuf::seekoff() after r320604..
Dec 19 2017, 2:49 PM
mclow.lists added a comment to D41368: [libc++] Ignore bogus tautologic comparison warnings.

It would be better if we could just fix the code.

Dec 19 2017, 8:24 AM

Dec 18 2017

mclow.lists accepted D41372: [libcxx] Fix transform_reduce mishandling move-only types, and nonstandard macro use in tests..

The rest of this LGTM.

Dec 18 2017, 7:50 PM
mclow.lists added a comment to D39149: [libc++] Prevent tautological comparisons.

Let's resurrect these changes since D39462 was not the right short-term approach.

Dec 18 2017, 1:48 PM

Dec 15 2017

mclow.lists added a comment to D41223: [libc++] Fix PR35491 - std::array of zero-size doesn't work with non-default constructible types..

I'm wondering if it's not a better idea to have an explicit specialization for size == 0

Dec 15 2017, 3:57 PM

Dec 14 2017

mclow.lists updated the diff for D40651: Implement most of P0451 - Constexpr for std::complex.

More context in the diff, and removed some tabs.
Also commented out the constexpr tests for divide, since they fail at the moment.

Dec 14 2017, 9:53 AM
mclow.lists added a comment to D41239: Turn a config macro (_LIBCPP_HAS_NO_INLINE_VARIABLES) into an attribute macro (_LIBCPP_INLINE_VAR).

There are no tests because this should not change any functionality.

Dec 14 2017, 7:33 AM
mclow.lists created D41239: Turn a config macro (_LIBCPP_HAS_NO_INLINE_VARIABLES) into an attribute macro (_LIBCPP_INLINE_VAR).
Dec 14 2017, 7:33 AM
mclow.lists accepted D40743: Make rehash(0) work with ubsan's unsigned-integer-overflow..
Dec 14 2017, 7:29 AM

Dec 13 2017

mclow.lists added a comment to D33776: [libcxx] LWG2221: No formatted output operator for nullptr.

Other than the actual text being output, this LGTM.
I'ld like to see the changes I suggested in the test go in, but they're really minor.

Dec 13 2017, 9:32 AM
mclow.lists accepted D40707: [libcxx] Fix basic_stringbuf constructor.

LGTM. Do you need someone to commit it?

Dec 13 2017, 7:32 AM

Dec 12 2017

mclow.lists added a comment to D40991: [libcxx] [test] Fix line endings, avoid unnecessary non-ASCII..

Thanks, I've checked this in without the changes to TODO.TXT

Dec 12 2017, 8:52 PM
mclow.lists accepted D41030: [libcxx] [test] Fix MSVC warnings, null pointer deref..

These look fine to me. Thanks for the attention to detail.

Dec 12 2017, 6:46 AM
mclow.lists added a comment to D41030: [libcxx] [test] Fix MSVC warnings, null pointer deref..

Avoid MSVC "warning C4293: '<<': shift count negative or too big, undefined behavior".
MSVC sees (1ULL << N) and warns - being guarded by const bool canFit is insufficient.

Dec 12 2017, 6:45 AM

Dec 11 2017

mclow.lists resigned from D40609: [PATCH 1/6] [zorg] Remove obsolete workarounds for Arm/AArch64 libcxx bots.
Dec 11 2017, 10:59 AM
mclow.lists added a comment to D40707: [libcxx] Fix basic_stringbuf constructor.

This looks good to me; with a couple of nits.

Dec 11 2017, 10:57 AM
mclow.lists added a comment to D40743: Make rehash(0) work with ubsan's unsigned-integer-overflow..

Dan - I think I need a bit more context here.
How does UBSan get triggered?

Dec 11 2017, 10:26 AM
mclow.lists added a comment to D40991: [libcxx] [test] Fix line endings, avoid unnecessary non-ASCII..

Except for the stuff in TODO.txt these look good to me.
We need to do some work on that file - it's pretty out of date.

Dec 11 2017, 10:25 AM
mclow.lists requested changes to D41064: Suppress -Wuser-defined-literals for <string> and <string_view>.

I think that it would be more appropriate to fix this in Clang rather than libc++. For instance, we don't want libstdc++ to have to silence our same diagnostic here.

Dec 11 2017, 10:07 AM

Dec 10 2017

mclow.lists added a comment to D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked.

Ah - that was the factor I was missing.
The tests pass for me with -std=c++2a, but fail for std=c++17

Dec 10 2017, 11:20 AM
mclow.lists added inline comments to D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked.
Dec 10 2017, 9:51 AM
mclow.lists added a comment to D41048: [libcxx] workaround PR 28385 in __find_exactly_one_checked.

These tests don't fail for me. (using a clang I built two days ago)

Dec 10 2017, 9:47 AM

Dec 4 2017

mclow.lists closed D28253: static_assert inside make_shared when the object is not constructible.

Committed as revision 319736

Dec 4 2017, 8:10 PM
mclow.lists closed D40586: Implement p0457r2 - String Prefix and Suffix Checking.

Committed as revision 319687

Dec 4 2017, 12:12 PM
mclow.lists accepted D40586: Implement p0457r2 - String Prefix and Suffix Checking.
Dec 4 2017, 12:12 PM

Nov 30 2017

mclow.lists created D40651: Implement most of P0451 - Constexpr for std::complex.
Nov 30 2017, 7:22 AM

Nov 28 2017

mclow.lists added inline comments to D40586: Implement p0457r2 - String Prefix and Suffix Checking.
Nov 28 2017, 6:07 PM
mclow.lists updated the diff for D40586: Implement p0457r2 - String Prefix and Suffix Checking.

Wrapped the string_view bits in #ifdef for C++2a.
De-tabbed.

Nov 28 2017, 5:40 PM
mclow.lists added inline comments to D40586: Implement p0457r2 - String Prefix and Suffix Checking.
Nov 28 2017, 4:37 PM
mclow.lists added a comment to D40586: Implement p0457r2 - String Prefix and Suffix Checking.

Sorry for the extra bits.

Nov 28 2017, 3:34 PM
mclow.lists created D40586: Implement p0457r2 - String Prefix and Suffix Checking.
Nov 28 2017, 3:32 PM

Nov 23 2017

mclow.lists closed D40379: [libcxx] Update C++2a status page and Credits.

Committed as revision 318919

Nov 23 2017, 6:51 AM
mclow.lists accepted D40379: [libcxx] Update C++2a status page and Credits.

LGTM. I will apply.

Nov 23 2017, 6:50 AM

Nov 22 2017

mclow.lists closed D40144: Implement `std::launder`.

landed as revision 318864

Nov 22 2017, 11:50 AM

Nov 21 2017

mclow.lists updated the diff for D40144: Implement `std::launder`.

_VSTD:: qualify the call to __launder.
De-dup error messages in test.

Nov 21 2017, 7:32 PM
mclow.lists added inline comments to D40144: Implement `std::launder`.
Nov 21 2017, 7:27 PM
mclow.lists added a comment to D40324: [libcxx] [test] Resolve C1XX warning in new vector<bool>::size tests caused by assert(true).

D'Oh - that was a paste that went wrong.
You are correct that assert(c.size() == 3) is correct.

Nov 21 2017, 5:32 PM