mclow.lists (Marshall Clow)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 16 2012, 3:06 PM (279 w, 13 h)

Recent Activity

Yesterday

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

Un-c++17'ed the internal function __launder

Mon, Nov 20, 2:51 PM
mclow.lists added inline comments to D40144: Implement `std::launder`.
Mon, Nov 20, 2:48 PM
mclow.lists updated the diff for D40144: Implement `std::launder`.

Made an internal function __launder which is not c++17 specific.
Fixed some wording for the standard asserts.

Mon, Nov 20, 1:12 PM

Fri, Nov 17

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

Move the launder function into the main libc++ namespace.
Call __builtin_launder when available.
Check to see when it's available (for gcc and clang)

Fri, Nov 17, 2:32 PM
mclow.lists added inline comments to D40144: Implement `std::launder`.
Fri, Nov 17, 2:31 PM

Thu, Nov 16

mclow.lists created D40144: Implement `std::launder`.
Thu, Nov 16, 11:50 AM

Thu, Nov 2

mclow.lists accepted D38362: Mark tests as unsupported in C++98 as well.

LGTM

Thu, Nov 2, 7:55 AM

Mon, Oct 30

mclow.lists added a comment to D39149: [libc++] Prevent tautological comparisons.

If we have to go down this road, I'd prefer the approach used in http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp?r1=315874&r2=315873&pathrev=315874

Mon, Oct 30, 10:40 AM
mclow.lists added a comment to D39149: [libc++] Prevent tautological comparisons.

I dislike this change fairly strongly.
I would much rather pursue a clang-based solution (since clang is being unhelpful here)
Don't know if we can get one, though.

Mon, Oct 30, 9:49 AM
mclow.lists closed D39405: std::set_union accesses values after move..
Mon, Oct 30, 8:51 AM
mclow.lists accepted D39405: std::set_union accesses values after move..

Committed as revision 316914. Thanks!

Mon, Oct 30, 8:51 AM

Sun, Oct 29

mclow.lists added a reviewer for D39405: std::set_union accesses values after move.: EricWF.
Sun, Oct 29, 7:58 PM
mclow.lists added a comment to D39405: std::set_union accesses values after move..

In general, you should add cfe-commits as a subscriber to any libc++ patch you propose.

Sun, Oct 29, 7:58 PM
mclow.lists added a comment to D39405: std::set_union accesses values after move..

If you start playing with move_iterators, I suspect you'll find several of the algorithms don't work quite right.

Sun, Oct 29, 7:57 PM

Wed, Oct 25

mclow.lists added a comment to D39308: [libcxx] Keep track of heap allocated regex states.

I can confirm that with this patch the (large) regex that used to cause a stack overflow does not any more.

Wed, Oct 25, 7:05 PM
mclow.lists added a comment to D39308: [libcxx] Keep track of heap allocated regex states.

A couple of notes.

  • This change means that <regex> now requires C++11 (the new __push function w/ the varargs). I don't know how important that is; but I'm pretty sure libc++ currently provides <regex> in C++03 mode.
  • This is an ABI change; existing code that was compiled with the "old" <regex> implementation will not interoperate with this.
  • I think that there may be some exception-safety issues in __push; if the push_back throws, I think we leak.
Wed, Oct 25, 6:55 PM

Oct 19 2017

mclow.lists closed D39066: [libcxx, regex] Fix signed overflow when constructing integers from brace expressions..

Committed as revision 316172.

Oct 19 2017, 10:39 AM
mclow.lists accepted D39066: [libcxx, regex] Fix signed overflow when constructing integers from brace expressions..

LGTM.

Oct 19 2017, 10:39 AM

Oct 18 2017

mclow.lists closed D37955: [libcxx] Fix invert negative bracket match..

Landed as revision 316095.

Oct 18 2017, 9:49 AM

Oct 11 2017

mclow.lists accepted D38757: [libc++] Fix PR34898 - vector iterator constructors and assign method perform push_back instead of emplace_back..

LGTM - thanks!

Oct 11 2017, 8:34 AM

Oct 9 2017

mclow.lists accepted D38628: Remove unneeded typename from test.
Oct 9 2017, 2:14 PM

Sep 19 2017

mclow.lists accepted D37955: [libcxx] Fix invert negative bracket match..

All the tests pass now (on Mac OS) Thanks!

Sep 19 2017, 12:41 PM
mclow.lists requested changes to D37955: [libcxx] Fix invert negative bracket match..

When I applied this patch locally, some of the other tests started failing.
Specifically:

Sep 19 2017, 7:06 AM

Sep 18 2017

mclow.lists accepted D37997: [libcxx / lit] Make libcxx work correctly with the new testing workflow.

Seems to work fine here! LGTM.

Sep 18 2017, 3:50 PM
mclow.lists updated the diff for D35472: Implement P0463R1: "Endian just Endian".

Fixed test and #ifdef guard

Sep 18 2017, 1:57 PM
mclow.lists created D37994: Implement LWG2946: More ambiguity in `string` vs. `string_view`.
Sep 18 2017, 1:43 PM

Sep 14 2017

mclow.lists added a comment to D37871: [ASAN] Add macro denoting availability of new `__asan_handle_no_return()` function..

This looks fine to me (along with D37872)

Sep 14 2017, 3:15 PM

Sep 13 2017

mclow.lists added a comment to D37830: [libcxx] ABI: Fix for undefined "___cxa_deleted_virtual" symbol in MacOSX.

I agree with what @EricWF said - needs a test.
Also you should probably close D36870 with a note that this supersedes that one.

Sep 13 2017, 5:03 PM

Sep 12 2017

mclow.lists closed D28224: [libcxx, regex] Throw exception after too many steps..
Sep 12 2017, 10:59 AM
mclow.lists accepted D28224: [libcxx, regex] Throw exception after too many steps..

Applied as revision 313056 (with minor editing)

Sep 12 2017, 10:59 AM

Sep 5 2017

mclow.lists accepted D35802: XFAIL tests on SLES11.

LGTM. Thanks!

Sep 5 2017, 7:34 AM

Aug 31 2017

mclow.lists added inline comments to D35802: XFAIL tests on SLES11.
Aug 31 2017, 9:42 AM
mclow.lists added inline comments to D37104: [libc++] PR34298: Change std::function constructor and move assignment operator SFINAE checks to allow std::function with an incomplete return type .
Aug 31 2017, 9:39 AM
mclow.lists added a comment to D35470: [libcxx] Implement std::to_address for C++20.

This feature has not been added to the draft standard yet, so I'm reluctant to add it to libc++.

Aug 31 2017, 7:39 AM
mclow.lists added a comment to D35802: XFAIL tests on SLES11.

Can you give an example of linux distro names with spaces in it?
Other than that, this looks fine to me.

Aug 31 2017, 7:37 AM
mclow.lists added inline comments to D35732: Update system_error tests for more platforms..
Aug 31 2017, 7:37 AM
mclow.lists added a comment to D36720: [libc++] Prevent stale site configuration headers.

This looks reasonable to me.

Aug 31 2017, 7:32 AM
mclow.lists added a comment to D36870: [libcxx] Add missing __cxa_deleted_virtual.

In an ideal world, your example would fail to compile. However, we don't live in that world. (yet) :-(
This looks reasonable to me - but I didn't write these files - @EricWF - what do you think?

Aug 31 2017, 7:26 AM
mclow.lists accepted D37024: [libcxx] [test] Cleanup nullopt_t tests.

LGTM.

Aug 31 2017, 7:06 AM
mclow.lists accepted D37318: [libcxx] [www] Cleanup links to be https..

LGTM; thanks!

Aug 31 2017, 6:59 AM

Aug 30 2017

mclow.lists added a comment to D37182: [libcxx] Special visibility macros for the experimental library.

The reason for building the filesystem library as a statically linked lib (instead of dynamic) is that for quite a while it was changing significantly. Having people link statically means that we can make changes w/o worrying (as much) about people using the library - they can pick up new features /changes when they re-link their programs. Once we change to a dylib (and we will, but not yet), then we have to worry about ABI changes affecting programs in the field.

Aug 30 2017, 8:36 AM

Aug 28 2017

mclow.lists added a comment to D32788: Fix std::inplace_merge to be stable for all inputs.

I committed as r311952 which fixes this - based on Jan's suggestion, but not quite the same as this patch.

Aug 28 2017, 4:19 PM
mclow.lists added inline comments to D37104: [libc++] PR34298: Change std::function constructor and move assignment operator SFINAE checks to allow std::function with an incomplete return type .
Aug 28 2017, 10:39 AM
mclow.lists added inline comments to D37104: [libc++] PR34298: Change std::function constructor and move assignment operator SFINAE checks to allow std::function with an incomplete return type .
Aug 28 2017, 10:39 AM

Aug 27 2017

mclow.lists added a comment to D32788: Fix std::inplace_merge to be stable for all inputs.

Note: I suspect that the proposed change to <algorithm> fixes the problem, but the new tests don't check that.

Aug 27 2017, 9:15 PM
mclow.lists added a comment to D32788: Fix std::inplace_merge to be stable for all inputs.

I applied the test change, but not the algorithm change, and the tests passed.

Aug 27 2017, 9:15 PM

Aug 14 2017

mclow.lists added a comment to D36713: [libc++] Add a persistent way to disable availability.

What's the use case here? What are you trying to accomplish?

Aug 14 2017, 4:01 PM

Jul 17 2017

mclow.lists added inline comments to D35472: Implement P0463R1: "Endian just Endian".
Jul 17 2017, 8:46 AM

Jul 16 2017

mclow.lists created D35472: Implement P0463R1: "Endian just Endian".
Jul 16 2017, 8:08 PM

Jul 5 2017

mclow.lists added a comment to D32411: [libcxx] Provide #include_next alternative for MSVC.

@smeenai wrote:

This is kinda ugly, but I can't think of a better way to do it. I'm fine with this, but given that it's a pretty invasive change, I'm not comfortable accepting. You may wanna ping @EricWF and @mclow.lists directly.

Jul 5 2017, 11:21 AM
mclow.lists added a comment to D34574: [Sema] Disable c++17 aligned new and delete operators if not implemented in the deployment target's c++ standard library.

This commit breaks all the libc++ aligned new/delete tests on Mac OS. Was that deliberate?

Jul 5 2017, 10:02 AM
mclow.lists added a comment to D34556: [libcxx] Annotate c++17 aligned new/delete operators with availability attribute.

I'm not exactly sure why the test failed, but the patch was reverted in r306859.

Jul 5 2017, 10:01 AM
mclow.lists added a comment to D34556: [libcxx] Annotate c++17 aligned new/delete operators with availability attribute.

This doesn't work when running the libc++ tests against a non-system libc++. (which is what all the libc++ developers and AND all the test bots do)

Jul 5 2017, 9:10 AM

Jun 19 2017

mclow.lists added inline comments to D34249: [libc++] Don't use UTIME_OMIT to detect utimensat on Apple.
Jun 19 2017, 6:23 AM

Jun 15 2017

mclow.lists added a comment to D34157: [llvm-stress] Use C++11 mersenne_twister_engine random device instead of our own (PR32585).

my only concern is I have no idea if uniform_int_distribution guarantees the same behaviour on different targets as mersene does

Jun 15 2017, 10:07 AM
mclow.lists created D34237: Mark the operations of __wrap_iter as constexpr.
Jun 15 2017, 6:53 AM

Jun 14 2017

mclow.lists accepted D34224: [NFC] remove trailing WS.
Jun 14 2017, 5:57 PM
mclow.lists added a comment to D34176: [cmake] Make sure that -Wcast-qual is not a error in preparation for clang's -Wcast-qual for C++.

As of r305410, libc++ passes all the tests w/ -Wcast-qual enabled.

Jun 14 2017, 1:04 PM
mclow.lists added a comment to D33102: [clang] Implement -Wcast-qual for C++.

As of r305410, libc++ passes all the tests w/ -Wcast-qual enabled.

Jun 14 2017, 1:03 PM
mclow.lists created D34211: Implement the non-execution policy versions of `inclusive_scan` and `transform_ inclusive_scan` for C++17.
Jun 14 2017, 9:18 AM

Jun 13 2017

mclow.lists added a comment to D34111: Add an `__is_inplace_index` metafunction..

LGTM!

Jun 13 2017, 11:01 PM
mclow.lists added a comment to D34089: [llvm-stress] Ensure that the C++11 random device respects its min/max values (PR32585).

Is there a C++11 random class that covers the features we need (same results on different targets, drivable by input seed)?

Jun 13 2017, 11:01 AM
mclow.lists added a comment to D34089: [llvm-stress] Ensure that the C++11 random device respects its min/max values (PR32585).

After thinking about this, I agree with @bogner 's comment that we should just remove the whole Random class, and use the C++11 random number facilities instead.

Jun 13 2017, 9:01 AM
mclow.lists closed D34038: Implement the non-parallel versions of exclusive_scan and transform_exclusive_scan.
Jun 13 2017, 7:24 AM
mclow.lists accepted D34038: Implement the non-parallel versions of exclusive_scan and transform_exclusive_scan.

This was committed as r305136

Jun 13 2017, 7:24 AM
mclow.lists added a comment to D32146: PR32476: __nop_locale_mgmt.h not needed with newlib 2.5+.

This change looks fine to me - but I don't have the different newlib versions to test against.
Once everyone else is happy with the version detection, then I'm good with this.

Jun 13 2017, 7:23 AM
mclow.lists added a comment to D34111: Add an `__is_inplace_index` metafunction..

I could add some. Where do you think they should live?

Jun 13 2017, 7:20 AM

Jun 12 2017

mclow.lists accepted D34111: Add an `__is_inplace_index` metafunction..

LGTM. Do we need any tests?

Jun 12 2017, 7:27 PM

Jun 10 2017

mclow.lists added inline comments to D33997: Implement the non-execution policy versions of `reduce` and `transform_reduce` for C++17.
Jun 10 2017, 1:52 PM
mclow.lists updated the diff for D33997: Implement the non-execution policy versions of `reduce` and `transform_reduce` for C++17.

Rebased now that D34038 has landed; address Richard and Bryce's comments

Jun 10 2017, 1:51 PM

Jun 9 2017

mclow.lists updated the diff for D34038: Implement the non-parallel versions of exclusive_scan and transform_exclusive_scan.

Previous update was br0ken. This is better. :-)
Add a test to ensure that the calculations are done using the correct type.

Jun 9 2017, 5:06 PM
mclow.lists updated the diff for D34038: Implement the non-parallel versions of exclusive_scan and transform_exclusive_scan.

Add extra tests to make sure that the calculations are not done using the source sequence value_type.

Jun 9 2017, 4:41 PM

Jun 8 2017

mclow.lists updated the diff for D34038: Implement the non-parallel versions of exclusive_scan and transform_exclusive_scan.

Turn the for loops into do-while loops, saving a comparison.

Jun 8 2017, 8:08 PM
mclow.lists updated the diff for D34038: Implement the non-parallel versions of exclusive_scan and transform_exclusive_scan.

Added a _VSTD::, made some assertions static_assert, and addressed Bryce's concerns about doing an init when the input range is empty.

Jun 8 2017, 8:01 PM
mclow.lists added a comment to D33997: Implement the non-execution policy versions of `reduce` and `transform_reduce` for C++17.

Should the non-parallel implementation of reduce static_assert or SFINAE away when these requirements are not met?

Jun 8 2017, 7:47 PM
mclow.lists created D34038: Implement the non-parallel versions of exclusive_scan and transform_exclusive_scan.
Jun 8 2017, 9:16 AM

Jun 7 2017

mclow.lists abandoned D34007: Implement inclusive_scan and transform_inclusive_scan.

I don't think that this is a correct implementation. Also, I need tests for when the result overwrites the source.
As they say .. I'll be back :-)

Jun 7 2017, 3:51 PM
mclow.lists added a comment to D34007: Implement inclusive_scan and transform_inclusive_scan.

Re-reading this, I may have implemented exclusive_scan instead of inclusive_scan here.

Jun 7 2017, 1:14 PM
mclow.lists created D34007: Implement inclusive_scan and transform_inclusive_scan.
Jun 7 2017, 12:16 PM
mclow.lists closed D33588: Fix two sources of UB in __next_hash_pow2 (from __hash_table).
Jun 7 2017, 9:31 AM
mclow.lists closed D31956: Implement (part of) LWG2857: `{variant,optional,any}::emplace` should return the constructed value.

Landed as r300123

Jun 7 2017, 9:30 AM
mclow.lists added inline comments to D33997: Implement the non-execution policy versions of `reduce` and `transform_reduce` for C++17.
Jun 7 2017, 9:28 AM
mclow.lists created D33997: Implement the non-execution policy versions of `reduce` and `transform_reduce` for C++17.
Jun 7 2017, 9:27 AM

Jun 2 2017

mclow.lists accepted D33588: Fix two sources of UB in __next_hash_pow2 (from __hash_table).
Jun 2 2017, 5:09 PM

May 26 2017

mclow.lists added a comment to D33588: Fix two sources of UB in __next_hash_pow2 (from __hash_table).

I can reproduce this, but I'd rather figure out why we're calling __next_hash_pow2(0) or (1) before deciding how to fix it.

May 26 2017, 8:20 AM

May 25 2017

mclow.lists added inline comments to D33550: Make __wrap_iter constexpr.
May 25 2017, 7:29 AM
mclow.lists created D33550: Make __wrap_iter constexpr.
May 25 2017, 7:28 AM

May 24 2017

mclow.lists added a comment to D33424: Lexer: allow imaginary constants in GNU mode (only)..

More. Trying the above code on godbolt.org, gcc 6.1/6.2/6.3/7.1 all reject it (with -std=c++14 and -std=c++1z) with the error message:

May 24 2017, 3:32 PM
mclow.lists added a comment to D33424: Lexer: allow imaginary constants in GNU mode (only)..

This broke a libc++ test. The following is expected to fail to compile:

May 24 2017, 2:35 PM

May 10 2017

mclow.lists added a comment to D33021: [libcxx] [test] libc++ test changes for CWG 2094.

In general, I prefer having the space between static_assert( and the condition.

May 10 2017, 6:15 AM
mclow.lists accepted D33033: [libc++] Fix PR32979 - types with a private std::enable_shared_from_this base break shared_ptr.

LGTM

May 10 2017, 6:09 AM

Apr 20 2017

mclow.lists accepted D32307: [libcxx] [test] Resolve everyone's favorite warning, unused local typedef.
Apr 20 2017, 5:45 PM

Apr 18 2017

mclow.lists added inline comments to D31561: cmath: Skip Libc for integral types in isinf, etc..
Apr 18 2017, 4:44 PM
mclow.lists accepted D29351: [libcxx] [test] Update locale names for Windows, future_error error_code constructor, and future move count..

Other than that, this looks fine to me. In an

Apr 18 2017, 10:07 AM

Apr 13 2017

mclow.lists closed D31769: Remove the binders `bind1st`, `bind2nd`,`men_fun`, etc from C++17.

committed as revision 300232

Apr 13 2017, 11:38 AM

Apr 12 2017

mclow.lists accepted D31966: [libcxx] [test] Avoid Clang's -Wunused-const-variable in is_constructible.pass.cpp..

LGTM

Apr 12 2017, 8:47 AM

Apr 11 2017

mclow.lists added a comment to D31738: Don't prohibit conditional noexcept hash for unique_ptr and optional.

would you prefer I move that assert into the 11+ block here or do you have another suggestion?

Apr 11 2017, 1:59 PM
mclow.lists created D31956: Implement (part of) LWG2857: `{variant,optional,any}::emplace` should return the constructed value.
Apr 11 2017, 12:57 PM
mclow.lists added a comment to D29877: Warn about unused static file scope function template declarations..

Complete reproducer:

Apr 11 2017, 8:35 AM
mclow.lists added a comment to D29877: Warn about unused static file scope function template declarations..

The following idiom for detecting member typedefs now throws an warning:

Apr 11 2017, 8:07 AM