Page MenuHomePhabricator

Quuxplusone (Arthur O'Dwyer)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 27 2014, 8:52 PM (338 w, 2 d)

Recent Activity

Today

Quuxplusone requested review of D104682: [libc++] Enable `explicit` conversion operators, even in C++03 mode..
Mon, Jun 21, 7:32 PM · Restricted Project
Quuxplusone planned changes to D104310: [libc++] Remove more _LIBCPP_CXX03_LANG (iostreams edition).
Mon, Jun 21, 7:25 PM · Restricted Project
Quuxplusone added inline comments to D102037: [libcxx][views] Add drop_view..
Mon, Jun 21, 6:03 PM · Restricted Project
Quuxplusone added a comment to D102037: [libcxx][views] Add drop_view..

@ldionne wrote:

Here's what I ended up with that is not dependent on non_propagating_cache (we can go back afterwards and perhaps simplify some of this if we have non_propagating_cache)

Mon, Jun 21, 4:46 PM · Restricted Project
Quuxplusone added inline comments to D102037: [libcxx][views] Add drop_view..
Mon, Jun 21, 4:28 PM · Restricted Project
Quuxplusone accepted D104669: [libc++] Split the various iterator types out of <iterator>.

Sure, once buildkite is happy, I'm happy.
It would be a good idea — if you haven't already done so — to diff {i,o}stream_iterator.h, and diff {front,back}_insert_iterator.h, and so on; and try to remove any gratuitous differences in formatting or inclusions or anything.

Mon, Jun 21, 2:56 PM · Restricted Project
Quuxplusone added inline comments to D104669: [libc++] Split the various iterator types out of <iterator>.
Mon, Jun 21, 2:51 PM · Restricted Project
Quuxplusone added a comment to D104172: [libc++] Remove some obsolete _LIBCPP_CXX03_LANG.

@ldionne: My impression is that your testing concern applies:

  • YES to things like vector::emplace_back
  • NO to the changes in <bitset>
  • MAYBE to things like vector::push_back(value_type&&)
Mon, Jun 21, 8:17 AM · Restricted Project

Fri, Jun 18

Quuxplusone updated the diff for D104310: [libc++] Remove more _LIBCPP_CXX03_LANG (iostreams edition).

Rebase. Hoping to land on Monday alongside D104172, if someone can give me a thumbs-up here.

Fri, Jun 18, 1:02 PM · Restricted Project
Quuxplusone updated the diff for D104172: [libc++] Remove some obsolete _LIBCPP_CXX03_LANG.

Rebase; ready to land on Monday if nobody shouts "stop!" before then.

Fri, Jun 18, 12:58 PM · Restricted Project
Quuxplusone abandoned D99044: [libc++] Split out `<__functional_{ops,search}>` from `<functional>`. NFCI.
Fri, Jun 18, 12:57 PM · Restricted Project
Quuxplusone added inline comments to D104500: [clang] Apply P1825 as Defect Report from C++11 up to C++20..
Fri, Jun 18, 10:54 AM · Restricted Project
Quuxplusone added a comment to D102121: [libcxx][ranges] adds _`non-propagating-cache`_.

Please mention [P2328] in the summary line of the commit.

Fri, Jun 18, 10:50 AM · Restricted Project
Quuxplusone added inline comments to D104492: [libc++][pstl] Implement tag dispatching.
Fri, Jun 18, 10:42 AM · Restricted Project
Quuxplusone added inline comments to D103900: [llvm] Add enum iteration to Sequence.
Fri, Jun 18, 9:55 AM · Restricted Project, Restricted Project

Thu, Jun 17

Quuxplusone updated the diff for D97742: [C++23] [P1518R2] Better CTAD behavior for containers with allocators.

Ah, it was perhaps something to do with the existence of a parent revision (even though the parent revision was already merged and closed out).

Thu, Jun 17, 9:44 AM · Restricted Project
Quuxplusone updated the diff for D97742: [C++23] [P1518R2] Better CTAD behavior for containers with allocators.

Not sure what happened last time to make "patch application failed", but let's just try again.

Thu, Jun 17, 9:39 AM · Restricted Project
Quuxplusone added inline comments to D103900: [llvm] Add enum iteration to Sequence.
Thu, Jun 17, 8:22 AM · Restricted Project, Restricted Project

Wed, Jun 16

Quuxplusone updated the diff for D97742: [C++23] [P1518R2] Better CTAD behavior for containers with allocators.
Wed, Jun 16, 12:34 PM · Restricted Project
Quuxplusone updated the diff for D97742: [C++23] [P1518R2] Better CTAD behavior for containers with allocators.
Wed, Jun 16, 12:33 PM · Restricted Project
Quuxplusone added inline comments to D97742: [C++23] [P1518R2] Better CTAD behavior for containers with allocators.
Wed, Jun 16, 12:31 PM · Restricted Project
Quuxplusone added inline comments to D103900: [llvm] Add enum iteration to Sequence.
Wed, Jun 16, 12:28 PM · Restricted Project, Restricted Project
Quuxplusone accepted D104414: [libcxx][iwyu] 🎨 adds more headers to IWYU.

If buildkite's happy, I'm happy.

Wed, Jun 16, 12:13 PM · Restricted Project
Quuxplusone added a comment to D99696: [clang] NRVO: Improvements and handling of more cases..

Some tiny nits. I can't think of any interesting block-related cases (but my knowledge of blocks is apparently very rusty at this point).

Wed, Jun 16, 12:11 PM · Restricted Project
Quuxplusone added inline comments to D104315: [libc++] Promote GCC 11 to mandatory CI.
Wed, Jun 16, 11:56 AM · Restricted Project, Restricted Project
Quuxplusone updated the diff for D97742: [C++23] [P1518R2] Better CTAD behavior for containers with allocators.

Update Cxx2bStatusPaperStatus.csv, and poke buildkite. The paper has been merged
https://github.com/cplusplus/draft/pull/4672
so if buildkite is still happy with this, imma land it.

Wed, Jun 16, 11:53 AM · Restricted Project
Quuxplusone accepted D104398: [libc++] Make sure std::allocator<void> is always trivial.
Wed, Jun 16, 11:30 AM · Restricted Project

Tue, Jun 15

Quuxplusone accepted D103769: [libcxx] Implement P0883R2 ("Fixing Atomic Initialization").

LGTM % comments at this point; but before landing it please

  • wait for a second OK from the "libc++" reviewer
  • make sure CI is green
Tue, Jun 15, 12:36 PM · Restricted Project
Quuxplusone added inline comments to D104315: [libc++] Promote GCC 11 to mandatory CI.
Tue, Jun 15, 12:29 PM · Restricted Project, Restricted Project
Quuxplusone requested review of D104310: [libc++] Remove more _LIBCPP_CXX03_LANG (iostreams edition).
Tue, Jun 15, 10:04 AM · Restricted Project
Quuxplusone updated the diff for D103753: [libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20..

Rebase now that libcxx/test/ is back in a better state.

Tue, Jun 15, 9:20 AM · Restricted Project
Quuxplusone added a comment to D99005: [clang] Implement P2266 Simpler implicit move.

@sberg: Thanks for the example! @mizvekov's comments are correct, but I wanted to put some more comments here for posterity. (I'll also try to find a place for this real-world example in the next revision of p2266.)

Tue, Jun 15, 9:09 AM · Restricted Project

Mon, Jun 14

Quuxplusone updated the diff for D104228: [libc++] [test] Fix some GCC 11 errors/warnings in these tests. NFCI..

Last update. This should fix all the outstanding issues, except for the -Wmaybe-uninitialized diagnostic in "libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp".

Mon, Jun 14, 8:08 PM · Restricted Project
Quuxplusone requested changes to D104262: [libcxx][ranges] Add contiguous_range..

LGTM % comments.

Mon, Jun 14, 1:23 PM · Restricted Project
Quuxplusone updated the diff for D104228: [libc++] [test] Fix some GCC 11 errors/warnings in these tests. NFCI..
Mon, Jun 14, 1:00 PM · Restricted Project
Quuxplusone updated the diff for D104228: [libc++] [test] Fix some GCC 11 errors/warnings in these tests. NFCI..
Mon, Jun 14, 9:57 AM · Restricted Project
Quuxplusone added inline comments to D104175: [libcxx][iwyu] ensures we IWYU as prep for modules.
Mon, Jun 14, 9:37 AM · Restricted Project
Quuxplusone requested review of D104228: [libc++] [test] Fix some GCC 11 errors/warnings in these tests. NFCI..
Mon, Jun 14, 7:31 AM · Restricted Project
Quuxplusone added a comment to D104166: [libc++] [test] No longer rely on std::hash<T>::argument_type..

Did we have any uses of test_hash with a hash that's not std::hash?

Mon, Jun 14, 7:15 AM · Restricted Project
Quuxplusone added a comment to D99696: [clang] NRVO: Improvements and handling of more cases..

@hans: FYI, that looks related to the immediately following D99005, not D99696 specifically. I suspect that reverting D99005 (but leaving D99696 in trunk) would suffice to fix that symptom. But I agree I don't see why it should be happening. That block code looks reasonable to me at first glance and wasn't intended to be affected by D99005 AFAIK.
@mizvekov: See why I'm skeptical about merging big patches back-to-back and/or on Fridays? ;)

Mon, Jun 14, 7:12 AM · Restricted Project
Quuxplusone added inline comments to D103900: [llvm] Add enum iteration to Sequence.
Mon, Jun 14, 7:07 AM · Restricted Project, Restricted Project
Quuxplusone added inline comments to D102639: [libcxx][ranges] Add `indirectly_­movable` and `indirectly_movable_storable`..
Mon, Jun 14, 7:04 AM · Restricted Project

Sat, Jun 12

Quuxplusone added inline comments to D104175: [libcxx][iwyu] ensures we IWYU as prep for modules.
Sat, Jun 12, 5:46 AM · Restricted Project

Fri, Jun 11

Quuxplusone requested review of D104172: [libc++] Remove some obsolete _LIBCPP_CXX03_LANG.
Fri, Jun 11, 7:44 PM · Restricted Project
Quuxplusone added inline comments to D104166: [libc++] [test] No longer rely on std::hash<T>::argument_type..
Fri, Jun 11, 6:04 PM · Restricted Project
Quuxplusone requested review of D104166: [libc++] [test] No longer rely on std::hash<T>::argument_type..
Fri, Jun 11, 6:03 PM · Restricted Project
Quuxplusone added inline comments to D103272: [libc++] Refactor the ranges::prev and ranges::next tests.
Fri, Jun 11, 3:14 PM · Restricted Project
Quuxplusone updated the diff for D103753: [libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20..

Fix deprecation warnings in tests, now that I've correctly deprecated the binder typedefs in C++17.

Fri, Jun 11, 12:42 PM · Restricted Project
Quuxplusone updated the diff for D103753: [libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20..

Address review comments from @ldionne.

Fri, Jun 11, 10:46 AM · Restricted Project
Quuxplusone accepted D102028: [libcxx][ranges] Implement views::all..

Sure, I don't need to be red anymore.

Fri, Jun 11, 10:22 AM · Restricted Project
Quuxplusone added inline comments to D102992: [libcxx][type_traits] remove `std::is_literal_type` and `std::result_of` for C++20.
Fri, Jun 11, 8:52 AM · Restricted Project
Quuxplusone added inline comments to D103753: [libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20..
Fri, Jun 11, 7:57 AM · Restricted Project

Thu, Jun 10

Quuxplusone added a comment to D103753: [libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20..

@ldionne ping!

Thu, Jun 10, 7:23 PM · Restricted Project
Quuxplusone accepted D104048: [libc++] NFC: Move indirect_concepts.h to __iterator/concepts.h.

LGTM. But btw, what's going on with these GCC failures? I thought you (@ldionne) were going to fix them, but it's been like a month now. Should I make a PR for it? Some of these failures are just straight up typos in the test cases; others might require some digging, I don't know (which is why I was happy to let you deal with it, I thought).

Thu, Jun 10, 7:20 PM · Restricted Project
Quuxplusone accepted D99005: [clang] Implement P2266 Simpler implicit move.

IMHO we should just land this already. (It's been sitting without major update since mid-April.) It is intended to affect only -std=c++2b mode, and implements a paper (full disclosure: my paper) targeting C++2b that EWG wants implementation experience with. So I have proposed to @mizvekov that he should land this on Monday, unless someone yells "stop" before then.
If this breaks anyone compiling in C++2b mode, then (1) it can always be reverted, and (2) that would be exactly the successful gathering of field experience that we're hoping for.

Thu, Jun 10, 2:57 PM · Restricted Project
Quuxplusone added inline comments to D103983: [libc++][rfc] Improve atomic_fetch_(add|sub).*..
Thu, Jun 10, 12:39 PM · Restricted Project
Quuxplusone requested changes to D102468: [libcxx][ranges] removes default_initializable from weakly_incrementable and view.

LGTM modulo comments.
(My previous round of comments went in just before the update to include ostream_iterator et al.)

Thu, Jun 10, 9:35 AM · Restricted Project
Quuxplusone added inline comments to D103983: [libc++][rfc] Improve atomic_fetch_(add|sub).*..
Thu, Jun 10, 9:15 AM · Restricted Project
Quuxplusone added a comment to D102468: [libcxx][ranges] removes default_initializable from weakly_incrementable and view.

If we're doing p2325 here now, then this patch should include changes to ostream_iterator and so on. (I think it would have been better to ship the LGTM'ed patch and then work on p2325 in a new PR; is that still an option, or is the old code lost now?)

Thu, Jun 10, 8:58 AM · Restricted Project
Quuxplusone added inline comments to D104039: Avoid assignment in conditional.
Thu, Jun 10, 8:50 AM · Restricted Project
Quuxplusone added inline comments to D103900: [llvm] Add enum iteration to Sequence.
Thu, Jun 10, 8:43 AM · Restricted Project, Restricted Project
Quuxplusone added inline comments to D103900: [llvm] Add enum iteration to Sequence.
Thu, Jun 10, 8:40 AM · Restricted Project, Restricted Project
Quuxplusone accepted D104024: [llvm] remove Sequence::asSmallVector().
Thu, Jun 10, 8:27 AM · Restricted Project, Restricted Project
Quuxplusone accepted D102468: [libcxx][ranges] removes default_initializable from weakly_incrementable and view.

LGTM % comments.

Thu, Jun 10, 8:15 AM · Restricted Project

Wed, Jun 9

Quuxplusone requested changes to D104002: [libcxx][modularisation] splits `<utility>` into self-contained headers.

Moving unary_function without also moving binary_function is unusual.
Anyway, please hold off on this until after D103753 is landed.

Wed, Jun 9, 8:02 PM · Restricted Project
Quuxplusone added inline comments to D102736: Fix tmp files being left on Windows builds..
Wed, Jun 9, 4:04 PM · Restricted Project, Restricted Project
Quuxplusone added inline comments to D103983: [libc++][rfc] Improve atomic_fetch_(add|sub).*..
Wed, Jun 9, 1:00 PM · Restricted Project
Quuxplusone added inline comments to D102020: [libcxx][ranges] Add class ref_view..
Wed, Jun 9, 12:53 PM · Restricted Project
Quuxplusone accepted D99696: [clang] NRVO: Improvements and handling of more cases..

@mizvekov, my understanding is:

Wed, Jun 9, 10:46 AM · Restricted Project
Quuxplusone added inline comments to D102119: [libcxx][optional] adds missing constexpr operations.
Wed, Jun 9, 9:51 AM · Restricted Project
Quuxplusone requested changes to D103769: [libcxx] Implement P0883R2 ("Fixing Atomic Initialization").

I did not realize this was going to be such a rabbit hole. :P But I think at least we're making forward progress in each round.

Wed, Jun 9, 9:21 AM · Restricted Project
Quuxplusone added inline comments to D102782: Add support for Warning Flag "-Wstack-usage=".
Wed, Jun 9, 8:34 AM · Restricted Project
Quuxplusone added inline comments to D103900: [llvm] Add enum iteration to Sequence.
Wed, Jun 9, 7:41 AM · Restricted Project, Restricted Project
Quuxplusone added inline comments to D103960: [libc++] Towards a simpler extern template story in libc++.
Wed, Jun 9, 7:25 AM · Restricted Project
Quuxplusone accepted D103948: [llvm] Make Sequence reverse-iterable.
Wed, Jun 9, 6:43 AM · Restricted Project, Restricted Project

Tue, Jun 8

Quuxplusone added a comment to D103734: [libcxx][modularisation] moves <utility> content out of <type_traits>.

@ldionne wrote:

Tue, Jun 8, 2:33 PM · Restricted Project
Quuxplusone added inline comments to D102679: [llvm] Make Sequence reverse-iterable.
Tue, Jun 8, 10:31 AM · Restricted Project, Restricted Project
Quuxplusone requested changes to D103900: [llvm] Add enum iteration to Sequence.
Tue, Jun 8, 9:24 AM · Restricted Project, Restricted Project
Quuxplusone added inline comments to D102006: [libcxx][ranges] Add range.subrange..
Tue, Jun 8, 5:29 AM · Restricted Project
Quuxplusone requested changes to D103840: [libcxx][ranges][nfc] Factor out common logic in the copy algorithms..
Tue, Jun 8, 5:27 AM · Restricted Project

Mon, Jun 7

Quuxplusone added inline comments to D102679: [llvm] Make Sequence reverse-iterable.
Mon, Jun 7, 1:35 PM · Restricted Project, Restricted Project
Quuxplusone added inline comments to D103769: [libcxx] Implement P0883R2 ("Fixing Atomic Initialization").
Mon, Jun 7, 10:35 AM · Restricted Project
Quuxplusone added inline comments to D103769: [libcxx] Implement P0883R2 ("Fixing Atomic Initialization").
Mon, Jun 7, 6:57 AM · Restricted Project
Quuxplusone added a comment to D102760: [llvm] Let SmallVector construct from any Iterable.

@gchatelet: Thanks for the link to D102679 — that seems like very relevant background info I didn't have! Having looked through D102679, though, I don't see how it would benefit from D102760 — in fact, D102679 updates some tests to wisely stop depending on the ability to construct SmallVector from a range (and goes to using begin/end pairs instead — good!).
So I think D102679 is a good idea (modulo the review comments I just left), and I continue to think that this D102760 is a bad idea that should be abandoned.

Mon, Jun 7, 6:19 AM · Restricted Project, Restricted Project
Quuxplusone added inline comments to D102679: [llvm] Make Sequence reverse-iterable.
Mon, Jun 7, 6:15 AM · Restricted Project, Restricted Project

Sun, Jun 6

Quuxplusone updated the diff for D103753: [libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20..

remove bogus #if per @Mordante's comment

Sun, Jun 6, 11:04 AM · Restricted Project
Quuxplusone requested changes to D103769: [libcxx] Implement P0883R2 ("Fixing Atomic Initialization").

LGTM % comments, but several comments are major.

Sun, Jun 6, 11:03 AM · Restricted Project
Quuxplusone added inline comments to D103753: [libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20..
Sun, Jun 6, 8:09 AM · Restricted Project
Quuxplusone added inline comments to D103581: [libc++][compare]Implement compare_three_way_result[_t].
Sun, Jun 6, 7:36 AM · Restricted Project

Sat, Jun 5

Quuxplusone updated the diff for D103753: [libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20..

Misplaced the _LIBCPP_SUPPRESS_DEPRECATED_PUSH on bit_not; this should fix the C++03/11 test failures.

Sat, Jun 5, 4:49 PM · Restricted Project
Quuxplusone added inline comments to D103753: [libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20..
Sat, Jun 5, 3:39 PM · Restricted Project
Quuxplusone updated the diff for D103753: [libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20..

Update __config and the documentation.

Sat, Jun 5, 10:31 AM · Restricted Project
Quuxplusone requested review of D103753: [libc++] [P0619] Add _LIBCPP_ABI_NO_BINDER_BASES and remove binder typedefs in C++20..
Sat, Jun 5, 10:12 AM · Restricted Project

Fri, Jun 4

Quuxplusone resigned from D102809: [libcxx][ranges] Add `ranges::iter_swap`..

I'm unlikely to have any further comments on this, but also don't think I should count as "accepting" it, since I've mainly done superficial stuff and @tcanens had some pretty significant standardese issues (which have probably been dealt with now but I'm not claiming I'm sure of that). I'll let someone-else be the final approver.

Fri, Jun 4, 7:01 PM · Restricted Project
Quuxplusone added inline comments to D102020: [libcxx][ranges] Add class ref_view..
Fri, Jun 4, 1:00 PM · Restricted Project
Quuxplusone added inline comments to D103705: [libc++] Simplify a few macros in __config.
Fri, Jun 4, 11:36 AM · Restricted Project
Quuxplusone added inline comments to D103705: [libc++] Simplify a few macros in __config.
Fri, Jun 4, 11:18 AM · Restricted Project

Thu, Jun 3

Quuxplusone added a comment to D103583: [libcxx][gardening] Move all algorithms into their own headers..

Double-check your module.modulemap changes: I still see at least one export * in there.
Also some removed blank lines that may or may not have been on purpose. Just make sure the style we end up with is consistent across all the sections of module.modulemap.
Otherwise, sure, LGTM (modulo my usual curmudgeoning that all these little headers are gonna be icky).

Thu, Jun 3, 1:57 PM · Restricted Project
Quuxplusone added inline comments to D103583: [libcxx][gardening] Move all algorithms into their own headers..
Thu, Jun 3, 10:41 AM · Restricted Project
Quuxplusone accepted D103558: [libcxx] Remove VLA from libcxx locale header.
Thu, Jun 3, 9:39 AM · Restricted Project