mclow.lists (Marshall Clow)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 16 2012, 3:06 PM (317 w, 6 d)

Recent Activity

Fri, Aug 17

mclow.lists added a comment to D50876: Clean up newly created <bit> header.

@craig.topper - that's existing code; I'm not changing it.
If we have a test bot that I can test this against, I'm happy to update it.

Fri, Aug 17, 11:20 AM
mclow.lists added a comment to D50876: Clean up newly created <bit> header.

@craig.topper - that's existing code; I'm not changing it.
If we have a test bot that I can test this against, I'm happy to update it.

Fri, Aug 17, 11:18 AM
mclow.lists added inline comments to D50876: Clean up newly created <bit> header.
Fri, Aug 17, 10:23 AM
mclow.lists updated the diff for D50876: Clean up newly created <bit> header.

Clean up the windows code a bit - though I don't think is used - since I don't think it will compile.

Fri, Aug 17, 10:23 AM
mclow.lists added inline comments to D50876: Clean up newly created <bit> header.
Fri, Aug 17, 7:58 AM
mclow.lists added inline comments to D50876: Clean up newly created <bit> header.
Fri, Aug 17, 7:42 AM

Thu, Aug 16

mclow.lists added inline comments to D50876: Clean up newly created <bit> header.
Thu, Aug 16, 4:50 PM
mclow.lists created D50876: Clean up newly created <bit> header.
Thu, Aug 16, 4:49 PM
mclow.lists closed D50815: Establish the <bit> header.

landed as revision 339943

Thu, Aug 16, 2:36 PM
mclow.lists accepted D50736: [libc++] Use correct rand.eng.mers all-zeroes seed sequence fallback.

This LGTM. Do you want me to commit it for you?

Thu, Aug 16, 10:24 AM

Wed, Aug 15

mclow.lists added a comment to D50736: [libc++] Use correct rand.eng.mers all-zeroes seed sequence fallback.

Thanks for doing this.
This looks good to me; but I want to play with it a bit before committing. I'll do that tonight.

Wed, Aug 15, 3:50 PM
mclow.lists created D50815: Establish the <bit> header.
Wed, Aug 15, 3:24 PM
mclow.lists updated the diff for D50799: Fix for PR 38495: <ctime> no longer compiles on FreeBSD, due to lack of timespec_get().
Wed, Aug 15, 12:59 PM
mclow.lists updated the diff for D50799: Fix for PR 38495: <ctime> no longer compiles on FreeBSD, due to lack of timespec_get().

Copy/paste error in original diff.

Wed, Aug 15, 12:58 PM
mclow.lists created D50799: Fix for PR 38495: <ctime> no longer compiles on FreeBSD, due to lack of timespec_get().
Wed, Aug 15, 12:56 PM
mclow.lists added a comment to D50736: [libc++] Use correct rand.eng.mers all-zeroes seed sequence fallback.

Is this test that's being added libc++ specific, or would it apply to other implementations as well?

Wed, Aug 15, 8:36 AM
mclow.lists accepted D50743: libcxx: Mark __temp_value::__temp_value as _LIBCPP_NO_CFI..

LGTM.

Wed, Aug 15, 7:12 AM

Tue, Aug 14

mclow.lists accepted D50748: [libc++] Detect C11 features on non-Clang compilers.

LGTM.

Tue, Aug 14, 5:07 PM
mclow.lists added inline comments to D50739: Clean up macros to detect underling C library functionality.
Tue, Aug 14, 2:46 PM
mclow.lists created D50739: Clean up macros to detect underling C library functionality.
Tue, Aug 14, 2:43 PM
mclow.lists added a comment to D50719: [libc++] Fix incorrect definition of TEST_HAS_C11_FEATURES.

I will clean this up as part of https://bugs.llvm.org/show_bug.cgi?id=38495

Tue, Aug 14, 11:36 AM
mclow.lists added a comment to D50719: [libc++] Fix incorrect definition of TEST_HAS_C11_FEATURES.

thinking about this more, I think this the wrong long-term direction.

Tue, Aug 14, 11:34 AM
mclow.lists added a comment to D50719: [libc++] Fix incorrect definition of TEST_HAS_C11_FEATURES.

If the bots are red from a previous commit I think it would be better for Louis to commit this separately.

Tue, Aug 14, 11:04 AM
mclow.lists added a comment to D50719: [libc++] Fix incorrect definition of TEST_HAS_C11_FEATURES.

I have pissed in this area, too - See https://bugs.llvm.org/show_bug.cgi?id=38495 and the proposed resolution here: https://bugs.llvm.org/attachment.cgi?id=20692
How about I just make this change as part of that fix?

Tue, Aug 14, 11:01 AM

Mon, Aug 13

mclow.lists added inline comments to D50341: [libcxx] Fix XFAILs for aligned allocation tests on older OSX versions.
Mon, Aug 13, 3:10 PM

Thu, Aug 2

mclow.lists added a comment to D50170: [libcxxabi] Fix test_exception_address_alignment test for ARM.

That certainly *looks* more correct to me.

Thu, Aug 2, 10:11 AM

Tue, Jul 31

mclow.lists accepted D49997: [libcxx] Fix _LIBCPP_NO_EXCEPTIONS redefined warning.

I'm fine with this; it matches the pattern used on line #354 of this file. (which is in the 'clang' block).

Tue, Jul 31, 7:03 PM
mclow.lists accepted D50101: [asan] Update a vector's storage annotation during destruction..

I'm OK with this.

Tue, Jul 31, 6:56 PM
mclow.lists accepted D50008: [libc++] Remove _LIBCPP_BUILDING_XXX macros, which are redundant since _LIBCPP_BUILDING_LIBRARY.

This looks fine to me.

Tue, Jul 31, 6:00 PM
mclow.lists accepted D41458: [libc++][C++17] Elementary string conversions for integral types.

LGTM. Thanks!

Tue, Jul 31, 4:24 PM
mclow.lists accepted D46845: [libcxx][c++17] P0083R5: Splicing Maps and Sets.

One more thing -
When you add a new header file, you need to update include/module.modulemap, test/libcxx/double_include.sh.cpp, and include/CMakeLists.txt.
Take a look at D49338 for an example.

Are you sure we have to update test/libcxx/double_include.sh.cpp? Looks like that file only has public headers, but this patch only adds __node_handle, which is internal. The new patch adds this header to include/CMakeLists.txt though (__node_handle already appeared in module.modulemap)

Tue, Jul 31, 4:09 PM
mclow.lists added a comment to D46845: [libcxx][c++17] P0083R5: Splicing Maps and Sets.

One more thing -
When you add a new header file, you need to update include/module.modulemap, test/libcxx/double_include.sh.cpp, and include/CMakeLists.txt.
Take a look at D49338 for an example.

Tue, Jul 31, 2:47 PM

Mon, Jul 30

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

Getting close here. I'll have a couple more comments later today, so don't post a new diff quite yet.

Mon, Jul 30, 1:31 PM
mclow.lists accepted D41376: [libcxx] Implement <simd> ABI for Clang/GCC vector extension, constructors, copy_from and copy_to..

LGTM. Thanks!

Mon, Jul 30, 12:50 PM
mclow.lists added a comment to D49317: Move __construct_forward (etc.) out of std::allocator_traits..

I don't think it makes sense to pessimize existing (non-constexpr) users in C++03-through-C++17 just because someone hypothetically might in C++2a-or-later want to mutate a std::vector in a constexpr context.

Mon, Jul 30, 11:15 AM
mclow.lists added inline comments to D49317: Move __construct_forward (etc.) out of std::allocator_traits..
Mon, Jul 30, 10:40 AM
mclow.lists accepted D49914: [libc++] Add the _LIBCPP_HIDE_FROM_ABI_AFTER_V1 macro.

This LGTM, but suggests another cleanup.

Mon, Jul 30, 8:14 AM
mclow.lists added a comment to D49317: Move __construct_forward (etc.) out of std::allocator_traits..

I am not in favor of this patch.

Mon, Jul 30, 7:25 AM

Sat, Jul 28

mclow.lists added a comment to D41376: [libcxx] Implement <simd> ABI for Clang/GCC vector extension, constructors, copy_from and copy_to..

Getting really close.

Sat, Jul 28, 11:59 AM

Thu, Jul 26

mclow.lists closed D49338: Implement <span> - P0122R7.

Landed as r337804.

Thu, Jul 26, 6:50 PM

Wed, Jul 25

mclow.lists added a comment to D49774: [libc++] Use __int128_t to represent file_time_type..

Another problem (that Eric and I discussed last night) is that filesystem is part of C++17, and file_clock is C++20. So we need a solution for C++17 as well.

It seems like we need to fix C++20 to allow that to be a typedef to a type in std::filesystem or that will be ABI breaking for MSVC++. IMO we should fix the spec to allow that rather than make libc++ jump through insane hoops.

We could also just provide file_clock "early" in C++17. Strictly speaking that may make our implementation non-conforming, but IDK how big of a deal this would be?

Wed, Jul 25, 12:52 PM
mclow.lists added a comment to D41422: [libcxx] implement <experimental/simd> operators and reduction..

A few nits, a bit of things moving underneath you, but this looks good.
Need to add more stuff to the tests ;-)

Wed, Jul 25, 8:43 AM
mclow.lists added a comment to D41415: [libcxx] implement <experimental/simd> casts..

In general, this looks good to me.
I suggested a lot of test improvements, but not very much to the code.
Needs the same kind of namespace changes in the tests as in D41376, but that's a minor thing.

Wed, Jul 25, 8:27 AM
mclow.lists added a comment to D49774: [libc++] Use __int128_t to represent file_time_type..

I haven't reviewed this closely, but you might want to look at http://wg21.link/P0355, where we added a file_clock and file_time types.

Thanks for the information. It doesn't look to have too much bearing on this from a design standpoint. Except to note that it seems to solve
the streaming problem by adding explicit streaming overload for time points.

It doesn't change anything from a design standpoint, but I don't think we can ship something deemed stable without taking P0355 into account. That's because it adds file_clock and changes file_time_type to use it, which is an ABI break. So if we take filesystem out of experimental and ship it before we've actually implemented the parts of P0355 that change the ABI, we'll have to take an ABI break in the future. That would suck because this ABI break would be necessary to implement C++20 properly in a fairly major way.

Wed, Jul 25, 7:27 AM

Tue, Jul 24

mclow.lists added a comment to D49774: [libc++] Use __int128_t to represent file_time_type..

I haven't reviewed this closely, but you might want to look at http://wg21.link/P0355, where we added a file_clock and file_time types.

Tue, Jul 24, 9:27 PM
mclow.lists closed D49773: Add new file test/support/test_comparisons.h.

Committed as 337885 after changing constexpr -> TEST_CONSTEXPR_CXX14

Tue, Jul 24, 9:22 PM
mclow.lists added a comment to D49773: Add new file test/support/test_comparisons.h.

Can they be non-constexpr in C++11 and still function?

Tue, Jul 24, 8:27 PM
mclow.lists added a comment to D49773: Add new file test/support/test_comparisons.h.

Usage looks like this:

Tue, Jul 24, 7:02 PM
mclow.lists created D49773: Add new file test/support/test_comparisons.h.
Tue, Jul 24, 7:00 PM
mclow.lists added a comment to D49752: [CMake] Don't install c++abi headers in standalone libc++ build.

With this change, only one copy of the c++abi headers gets copied - into include/c++/v1/.
LGTM.

Tue, Jul 24, 3:09 PM
mclow.lists added a comment to D49711: [CMake] Fix the setting of LIBCXX_HEADER_DIR in standalone build.

phosek updated this revision to Diff 157043.

Tue, Jul 24, 8:26 AM
mclow.lists added a comment to D49711: [CMake] Fix the setting of LIBCXX_HEADER_DIR in standalone build.

Testing this on my system (Mac OS 10.13.6, using system libc++abi), I get a lot of files in my build's include/c++/v1 folder. Previously, there were two (__cxxabi_config.h and`ccxxabi.h`).
Now there are 131 files - all the libc++ header files.

Tue, Jul 24, 7:56 AM

Mon, Jul 23

mclow.lists accepted D49067: Stop wrapping __has_include in another macro.
Mon, Jul 23, 5:27 PM
mclow.lists updated the diff for D49338: Implement <span> - P0122R7.

Fix the assertions in the indexing operators.

Mon, Jul 23, 3:22 PM
mclow.lists added a comment to D49338: Implement <span> - P0122R7.

I missed the container constructors being noexcept

Mon, Jul 23, 2:25 PM
mclow.lists added a comment to D49338: Implement <span> - P0122R7.

I missed the container constructors being noexcept, and the asserts on operator[] and operator() are half done (stupid signed indicies).

Mon, Jul 23, 2:18 PM
mclow.lists updated the diff for D49338: Implement <span> - P0122R7.

Address Louis' comments.

Mon, Jul 23, 2:15 PM
mclow.lists added a comment to D49338: Implement <span> - P0122R7.

I think I've answered all of Louis' questions that don't require code changes.
New patch will be coming soon.

Mon, Jul 23, 1:21 PM
mclow.lists accepted D49240: [libc++] Introduce _LIBCPP_HIDE_FROM_ABI to replace _LIBCPP_INLINE_VISIBILITY.

This looks good to me.

Mon, Jul 23, 11:50 AM
mclow.lists added inline comments to D49647: [libcxx] Library support for contracts (C++2a).
Mon, Jul 23, 11:14 AM
mclow.lists added a comment to D49647: [libcxx] Library support for contracts (C++2a).

I'd like to be clear that I'm not against using ASSERT_NOEXCEPT or ASSERT_SAME_TYPE - that's fine.
But I'd rather you use declval<> - which is only useful in an unevaluated context, rather than having a function that takes a parameter - which someone might actually call.

Mon, Jul 23, 10:34 AM
mclow.lists added a comment to D49647: [libcxx] Library support for contracts (C++2a).

Testing whether it's actually hooked up correctly is quite problematic; it isn't meant to be instantiable. What's the best way to proceed with this?

Mon, Jul 23, 10:11 AM

Sun, Jul 22

mclow.lists added a comment to D49647: [libcxx] Library support for contracts (C++2a).

I get that lib++ will not make these things, but we still need some tests showing that the whole machinery works.

Sun, Jul 22, 5:51 PM
mclow.lists added a comment to D49647: [libcxx] Library support for contracts (C++2a).

Thanks for doing this, but it needs tests before it can land.
If I were to define class contract_violation {}; that would pass the tests you've provided.
(Heck, if I removed the entire definition of contract_violation, it would still pass.)

Sun, Jul 22, 5:30 PM

Jul 18 2018

mclow.lists added a comment to D49504: Enable C++2a Chrono Literals.

This looks ok to me - I'm assuming that somewhere there's a test for int foo = 0x123d, so we're sure that didn't get broken.

Jul 18 2018, 12:57 PM
mclow.lists added a reviewer for D49240: [libc++] Introduce _LIBCPP_HIDE_FROM_ABI to replace _LIBCPP_INLINE_VISIBILITY: mclow.lists.
Jul 18 2018, 11:06 AM

Jul 17 2018

mclow.lists added inline comments to D41412: [libcxx] implement <experimental/simd> concat() and split().
Jul 17 2018, 9:25 AM
mclow.lists updated the diff for D49338: Implement <span> - P0122R7.

Address (all but one of) STL's comments

Jul 17 2018, 7:11 AM

Jul 16 2018

mclow.lists added inline comments to D41458: [libc++][C++17] Elementary string conversions for integral types.
Jul 16 2018, 1:29 PM
mclow.lists added inline comments to D41458: [libc++][C++17] Elementary string conversions for integral types.
Jul 16 2018, 10:06 AM
mclow.lists added inline comments to D41458: [libc++][C++17] Elementary string conversions for integral types.
Jul 16 2018, 9:03 AM
mclow.lists added inline comments to D41458: [libc++][C++17] Elementary string conversions for integral types.
Jul 16 2018, 9:01 AM
mclow.lists added inline comments to D41458: [libc++][C++17] Elementary string conversions for integral types.
Jul 16 2018, 8:56 AM
mclow.lists added a comment to D49338: Implement <span> - P0122R7.

Need to add an entry to include/CMakeLists.txt as well.

Jul 16 2018, 8:43 AM

Jul 13 2018

mclow.lists added inline comments to D49338: Implement <span> - P0122R7.
Jul 13 2018, 11:03 PM
mclow.lists added a reviewer for D49338: Implement <span> - P0122R7: STL_MSFT.
Jul 13 2018, 10:58 PM
mclow.lists created D49338: Implement <span> - P0122R7.
Jul 13 2018, 10:47 PM

Jul 10 2018

mclow.lists added a comment to D49118: [libc++] P0898R3 1 of 12: changes to common_type; implement common_reference.
I've conservatively hidden everything behind _LIBCPP_STD_VER > 17, although it could be made available in C++11 mode with some edits.
Jul 10 2018, 8:43 AM

Jul 9 2018

mclow.lists added inline comments to D41458: [libc++][C++17] Elementary string conversions for integral types.
Jul 9 2018, 8:48 PM
mclow.lists added a comment to D44663: [libcxx] Update <experimental/simd> with R9 changes.

A few comments; more to come after the earlier patches land.

Jul 9 2018, 10:52 AM
mclow.lists added a comment to D41376: [libcxx] Implement <simd> ABI for Clang/GCC vector extension, constructors, copy_from and copy_to..

Looks good; a bunch of minor things.
Remember to target c++17.
You need to indulge your OCD when writing the tests.

Jul 9 2018, 10:52 AM

Jul 3 2018

mclow.lists added a comment to D48912: [libc++] Add deprecated attributes to many deprecated components.

So if someone defines (say) _LIBCXX_DEPRECATION_WARNINGS in their build flags, they get the warnings. Otherwise, not.

Jul 3 2018, 11:16 PM
mclow.lists added a comment to D48912: [libc++] Add deprecated attributes to many deprecated components.

Like the "don't discard return values" patch that is currently under review (D45179), this needs to be opt-in - otherwise people will complain (loudly).
I am in favor of doing this - just not by default.

Jul 3 2018, 11:15 PM

Jul 2 2018

mclow.lists closed D48616: Implement LWG 2946, 3075 and 3076.

Committed as revision 336132.

Jul 2 2018, 4:12 PM

Jun 29 2018

mclow.lists added a comment to D48342: [libcxx] Optimize vectors construction of trivial types from an iterator range with const-ness mismatch..

I want to point out that this code (not -necessarily- this patch, but where it lives) needs to be rewritten.

Jun 29 2018, 9:29 PM

Jun 28 2018

mclow.lists updated the diff for D48616: Implement LWG 2946, 3075 and 3076.

Update in response to comments.

Jun 28 2018, 6:30 PM
mclow.lists added inline comments to D48616: Implement LWG 2946, 3075 and 3076.
Jun 28 2018, 5:46 PM

Jun 27 2018

mclow.lists added a comment to D48680: Add missing visibility annotation for __base.

Sorry - what problem is this solving?

Jun 27 2018, 4:25 PM
mclow.lists updated the diff for D48616: Implement LWG 2946, 3075 and 3076.

Update diff per Louis' suggestion.
Remove noexcepts from the synopsis.

Jun 27 2018, 2:25 PM
mclow.lists added inline comments to D48616: Implement LWG 2946, 3075 and 3076.
Jun 27 2018, 1:37 PM
mclow.lists added inline comments to D48616: Implement LWG 2946, 3075 and 3076.
Jun 27 2018, 11:54 AM
mclow.lists updated the diff for D48616: Implement LWG 2946, 3075 and 3076.

Update the tests from 2946 - they are removed for C++03

Jun 27 2018, 8:29 AM
mclow.lists added inline comments to D48616: Implement LWG 2946, 3075 and 3076.
Jun 27 2018, 7:21 AM

Jun 26 2018

mclow.lists updated the diff for D48616: Implement LWG 2946, 3075 and 3076.

Updated the __is_allocator type trait to work all the way back to C++03
Added a bunch of tests from issue2946.

Jun 26 2018, 9:40 PM
mclow.lists updated the diff for D48616: Implement LWG 2946, 3075 and 3076.

Remove a bunch of noexcepts that I missed the first time.
Put in an error message to be checked in one of the failing deduction cases that was lacking it.
Address STL's comments.

Jun 26 2018, 5:55 PM
mclow.lists accepted D48611: [NFC] Add <initializer_list> to the synopsis of <utility>.

LGTM.

Jun 26 2018, 5:32 PM
mclow.lists added a comment to D48616: Implement LWG 2946, 3075 and 3076.

Ok, for some reason, the four tests that I *added* didn't get marked as "A"

Jun 26 2018, 3:27 PM
mclow.lists created D48616: Implement LWG 2946, 3075 and 3076.
Jun 26 2018, 3:25 PM

Jun 14 2018

mclow.lists added a comment to D47987: Provide only one declaration of __throw_runtime_error.

I'm not really happy with gcc's redundant declaration warnings; I think they're "nannying" rather than useful.

Jun 14 2018, 7:27 AM

May 29 2018

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

Howard just pointed out to me that __clear_and_shrink should be noexcept - otherwise we get the generation of an exception table and a call to terminate in string's move assignment operator. Fixed in revision 333435.

May 29 2018, 10:10 AM