mclow.lists (Marshall Clow)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Tue, Oct 16

mclow.lists closed D52240: Partial Fix for PR#38964.

Committed as revision 344616

Tue, Oct 16, 9:05 AM

Mon, Oct 15

mclow.lists added a comment to D51762: First part of the <chrono> calendar stuff.
In D51762#1266086, @NoQ wrote:

Had to revert. Sorry! rL344580.

This failure was masked by another error, so i guess it was missed.

Mon, Oct 15, 8:26 PM
mclow.lists added a comment to rL344580: Revert r344529 "Implement the first part of the calendar support for C++20".

What happened here?
No one contacted me - I fixed all the buildbot failures that I saw.
Why was this reverted?

Mon, Oct 15, 8:22 PM
mclow.lists accepted D51762: First part of the <chrono> calendar stuff.

After discussions with @EricWF, I landed a modified version as revision 344529.

Mon, Oct 15, 9:09 AM

Fri, Oct 12

mclow.lists added a comment to D51762: First part of the <chrono> calendar stuff.

This is the first of part of this functionality. Some of these bits are not here yet.

Fri, Oct 12, 10:04 PM

Thu, Oct 11

mclow.lists added inline comments to D53087: Add benchmarks for std::function..
Thu, Oct 11, 9:58 AM
mclow.lists added inline comments to D53127: Fix missing defines in libc++abi when compiled against libgcc's arm unwind (follow-up of D42242).
Thu, Oct 11, 9:55 AM
mclow.lists added a comment to D53127: Fix missing defines in libc++abi when compiled against libgcc's arm unwind (follow-up of D42242).

BTW, I'm pretty sure that the title here is wrong. It's not "compiling with GCC" that's the problem, it's "compiling with a libsupc++" or something like that.
(and that should drive the tests _URC_FATAL_PHASE2_ERROR etc)

Thu, Oct 11, 8:53 AM
mclow.lists added a comment to D53127: Fix missing defines in libc++abi when compiled against libgcc's arm unwind (follow-up of D42242).

Well, if __defined(___GNUC___) does target both gcc and clang, it doesn't make much sense in the first place. How can I state the defined marcro only for gcc?

Thu, Oct 11, 8:52 AM

Wed, Oct 10

mclow.lists added a comment to D53028: [libcxxabi] Allow building with sanitizers enabled.

Other than above, this looks fine to me - but I haven't done much to the CMake stuff. Waiting for @EricWF to take a look.

Wed, Oct 10, 9:29 AM
mclow.lists closed D42242: Make libc++abi work with gcc's ARM unwind library.

Committed as revision 344152

Wed, Oct 10, 9:20 AM

Mon, Oct 8

mclow.lists added a comment to D48955: [libc++] Improve diagnostics for non-const comparators and hashers in associative containers.

If you can build this w/GCC in C++03 mode, then I'm fine with it.

Mon, Oct 8, 1:39 PM
mclow.lists added a comment to D42242: Make libc++abi work with gcc's ARM unwind library.

@mclow.lists , ping. Any chance to get a proper version upstream? I'd rather not pull patches from Fedora when we can have something official.

Mon, Oct 8, 1:31 PM
mclow.lists closed D46975: Implement deduction guides for `std::deque`.
Mon, Oct 8, 8:11 AM
mclow.lists accepted D46975: Implement deduction guides for `std::deque`.

Committed as r332785

Mon, Oct 8, 8:11 AM

Mon, Oct 1

mclow.lists added inline comments to D52697: Bug 39129: Speeding up partition_point/lower_bound/upper_bound/ by using unsigned division by 2 when possible..
Mon, Oct 1, 11:07 AM
mclow.lists added inline comments to D52697: Bug 39129: Speeding up partition_point/lower_bound/upper_bound/ by using unsigned division by 2 when possible..
Mon, Oct 1, 11:01 AM
mclow.lists added a comment to D52697: Bug 39129: Speeding up partition_point/lower_bound/upper_bound/ by using unsigned division by 2 when possible..

These are highly used and important functions and if not to push for every bit of performance in the standard library, where to?

Mon, Oct 1, 9:48 AM
mclow.lists accepted D52401: Remove redundant null pointer check in operator delete.

Ok. I'm fine with this. Thanks for your patience.

Mon, Oct 1, 9:13 AM
mclow.lists added inline comments to D52697: Bug 39129: Speeding up partition_point/lower_bound/upper_bound/ by using unsigned division by 2 when possible..
Mon, Oct 1, 9:09 AM
mclow.lists added a comment to D52697: Bug 39129: Speeding up partition_point/lower_bound/upper_bound/ by using unsigned division by 2 when possible..

You don't think that it's right to merge this patch? The performance wins are pretty nice. There are plenty of other things for optimizer guys to work on, this is a quite specific case.

Mon, Oct 1, 7:58 AM

Sun, Sep 30

mclow.lists added a comment to D52401: Remove redundant null pointer check in operator delete.

I seem to recall a problem with that

I would like to know if your impression came from the common PWN technique when the attacker found a heap buffer overflow :)

Sun, Sep 30, 11:31 PM
mclow.lists added a comment to D52401: Remove redundant null pointer check in operator delete.

I suspect it's fine, but I need to check some stuff on old versions of glibc (I seem to recall a problem with that).

Sun, Sep 30, 3:19 PM
mclow.lists added a comment to D52697: Bug 39129: Speeding up partition_point/lower_bound/upper_bound/ by using unsigned division by 2 when possible..
  • In general, this is the kind of optimization that I would rather see the compiler do (everywhere, automatically) than libc++ (here and there, manually).

    I don't think it can, can it? The optimization comes from knowing the last - first will never be < 0. How would the compiler know that?
Sun, Sep 30, 3:14 PM

Sat, Sep 29

mclow.lists added a comment to D52697: Bug 39129: Speeding up partition_point/lower_bound/upper_bound/ by using unsigned division by 2 when possible..

In general, this is the kind of optimization that I would rather see the compiler do (everywhere, automatically) than libc++ (here and there, manually).

Sat, Sep 29, 4:17 PM

Fri, Sep 21

mclow.lists accepted D52368: [libc++abi] is_strcmp parameter to is_equal is unused for WIN32.

LGTM.

Fri, Sep 21, 12:15 PM
mclow.lists added a comment to D52368: [libc++abi] is_strcmp parameter to is_equal is unused for WIN32.

This seems like overkill to me; why not add (void) use_strcmp right before line 67 instead?

Fri, Sep 21, 11:10 AM

Wed, Sep 19

mclow.lists added a comment to D44263: Implement LWG 2221 - No formatted output operator for nullptr.

Symbol added: _ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEDn

{'is_defined': True, 'type': 'FUNC', 'name': '_ZNSt3__113basic_ostreamIcNS_11char_traitsIcEEElsEDn'}
Wed, Sep 19, 2:09 PM
mclow.lists reopened D44263: Implement LWG 2221 - No formatted output operator for nullptr.

Reverted in r342590 while I investigate additions to the dylib.

Wed, Sep 19, 2:08 PM
mclow.lists closed D44263: Implement LWG 2221 - No formatted output operator for nullptr.

Landed as revision 342566

Wed, Sep 19, 11:32 AM
mclow.lists accepted D50551: [libcxx] [test] Add missing <stdexcept> to several tests..

LFTM

Wed, Sep 19, 10:41 AM
mclow.lists closed D50799: Fix for PR 38495: <ctime> no longer compiles on FreeBSD, due to lack of timespec_get().

Landed as r339816

Wed, Sep 19, 10:11 AM
mclow.lists closed D50876: Clean up newly created <bit> header.

Landed as r340049

Wed, Sep 19, 10:10 AM
mclow.lists closed D50815: Establish the <bit> header.

Landed as r339943

Wed, Sep 19, 10:09 AM
mclow.lists added inline comments to D51868: [libcxx] Build and test fixes for Windows.
Wed, Sep 19, 10:07 AM
mclow.lists added a comment to D52240: Partial Fix for PR#38964.

Marshall, what's the error we get with GCC in C++03 mode that this patch is fixing? Is there a bug.llvm.org associated to that?

Wed, Sep 19, 8:02 AM

Sep 18 2018

mclow.lists added inline comments to D51868: [libcxx] Build and test fixes for Windows.
Sep 18 2018, 7:34 PM
mclow.lists added a comment to D52240: Partial Fix for PR#38964.
In D52240#1238688, @dim wrote:

I also still get some errors when compiling <string> with g++ in c++03 mode:

Sep 18 2018, 1:01 PM
mclow.lists added a comment to D52240: Partial Fix for PR#38964.

An alternate solution would be to define _LIBCPP_HAS_NO_DEFAULT_TEMPLATE_ARGS_IN_FUNCTIONS and use that.
(always true, for clang, and > C++03 for other compilers)

Sep 18 2018, 11:57 AM
mclow.lists created D52240: Partial Fix for PR#38964.
Sep 18 2018, 9:37 AM

Sep 12 2018

mclow.lists closed D51955: Create infrastructure for defining and testing feature test macros.

landed as revision 342073

Sep 12 2018, 12:43 PM

Sep 11 2018

mclow.lists created D51955: Create infrastructure for defining and testing feature test macros.
Sep 11 2018, 3:34 PM
mclow.lists updated the summary of D51955: Create infrastructure for defining and testing feature test macros.
Sep 11 2018, 3:34 PM

Sep 7 2018

mclow.lists closed D50101: [asan] Update a vector's storage annotation during destruction..

landed as revision 341671.

Sep 7 2018, 8:52 AM

Sep 6 2018

mclow.lists created D51762: First part of the <chrono> calendar stuff.
Sep 6 2018, 5:01 PM

Aug 30 2018

mclow.lists added inline comments to rL341019: [Xray] Darwin improving slightly the support.
Aug 30 2018, 7:57 AM

Aug 25 2018

mclow.lists added a comment to D51262: Implement P0553 and P0556.

I should also mention that as a conforming extension, I have implemented the non-numeric bit operations for std::byte

Aug 25 2018, 12:37 PM
mclow.lists created D51262: Implement P0553 and P0556.
Aug 25 2018, 12:36 PM

Aug 17 2018

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.

Aug 17 2018, 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.

Aug 17 2018, 11:18 AM
mclow.lists added inline comments to D50876: Clean up newly created <bit> header.
Aug 17 2018, 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.

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

Aug 16 2018

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

landed as revision 339943

Aug 16 2018, 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?

Aug 16 2018, 10:24 AM

Aug 15 2018

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.

Aug 15 2018, 3:50 PM
mclow.lists created D50815: Establish the <bit> header.
Aug 15 2018, 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().
Aug 15 2018, 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.

Aug 15 2018, 12:58 PM
mclow.lists created D50799: Fix for PR 38495: <ctime> no longer compiles on FreeBSD, due to lack of timespec_get().
Aug 15 2018, 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?

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

LGTM.

Aug 15 2018, 7:12 AM

Aug 14 2018

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

LGTM.

Aug 14 2018, 5:07 PM
mclow.lists added inline comments to D50739: Clean up macros to detect underling C library functionality.
Aug 14 2018, 2:46 PM
mclow.lists created D50739: Clean up macros to detect underling C library functionality.
Aug 14 2018, 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

Aug 14 2018, 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.

Aug 14 2018, 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.

Aug 14 2018, 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?

Aug 14 2018, 11:01 AM

Aug 13 2018

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

Aug 2 2018

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

That certainly *looks* more correct to me.

Aug 2 2018, 10:11 AM

Jul 31 2018

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).

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

I'm OK with this.

Jul 31 2018, 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.

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

LGTM. Thanks!

Jul 31 2018, 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)

Jul 31 2018, 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.

Jul 31 2018, 2:47 PM

Jul 30 2018

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.

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

LGTM. Thanks!

Jul 30 2018, 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.

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

This LGTM, but suggests another cleanup.

Jul 30 2018, 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.

Jul 30 2018, 7:25 AM

Jul 28 2018

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.

Jul 28 2018, 11:59 AM

Jul 26 2018

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

Landed as r337804.

Jul 26 2018, 6:50 PM

Jul 25 2018

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?

Jul 25 2018, 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 ;-)

Jul 25 2018, 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.

Jul 25 2018, 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.

Jul 25 2018, 7:27 AM

Jul 24 2018

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.

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

Committed as 337885 after changing constexpr -> TEST_CONSTEXPR_CXX14

Jul 24 2018, 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?

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

Usage looks like this:

Jul 24 2018, 7:02 PM
mclow.lists created D49773: Add new file test/support/test_comparisons.h.
Jul 24 2018, 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.

Jul 24 2018, 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.

Jul 24 2018, 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.

Jul 24 2018, 7:56 AM