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 (317 w, 4 d)

Recent Activity

Today

Quuxplusone updated the diff for D93557: [libc++] [P0879] constexpr std::nth_element, and rewrite its tests..

Add "simple" tests per @ldionne's preferences. :)
I looked at ways to remove that continue; and realized that the thing I was thinking of wouldn't work. (The section I was saying I could put in an else block, would actually have to go in a separate helper function so that it could be reached along two different codepaths.) So I'd say let's ship this as-is, and let someone else refactor it if they want to.

Wed, Jan 27, 12:08 PM · Restricted Project
Quuxplusone added inline comments to D94807: [libc++] Rationalize our treatment of contiguous iterators and __unwrap_iter()..
Wed, Jan 27, 11:04 AM · Restricted Project
Quuxplusone added a comment to D93512: [libc++] [P0879] constexpr heap and partial_sort algorithms.

@ldionne: I don't think buildkite is ever going to finish a build here. I propose that you approve this revision and I just go again and land it, and we'll see what happens with the buildbots after that. (If it somehow does break buildbots, we can revert it.) Thoughts?

Wed, Jan 27, 6:14 AM · Restricted Project

Yesterday

Quuxplusone updated the diff for D93512: [libc++] [P0879] constexpr heap and partial_sort algorithms.

Poke buildkite yet again. One day it'll finish a build.

Tue, Jan 26, 4:43 PM · Restricted Project
Quuxplusone updated the diff for D93512: [libc++] [P0879] constexpr heap and partial_sort algorithms.

Poke buildkite yet again. ( https://reviews.llvm.org/B86662 failed in the same way.)

Tue, Jan 26, 6:47 AM · Restricted Project

Mon, Jan 25

Quuxplusone updated the diff for D93512: [libc++] [P0879] constexpr heap and partial_sort algorithms.

Poke buildbot. (The last build https://reviews.llvm.org/B86646 seems to have failed in a devopsy way, and clicking "Restart Builds" just tells me I haven't got permissions for that.)

Mon, Jan 25, 6:28 PM · Restricted Project
Quuxplusone updated the diff for D93512: [libc++] [P0879] constexpr heap and partial_sort algorithms.

Add "simple" ad-hoc tests at @ldionne's request.
Poke buildkite.

Mon, Jan 25, 3:58 PM · Restricted Project
Quuxplusone updated the diff for D94452: [libc++] Support immovable return types in std::function..

Poke the buildkite.

Mon, Jan 25, 1:58 PM · Restricted Project
Quuxplusone added inline comments to D93512: [libc++] [P0879] constexpr heap and partial_sort algorithms.
Mon, Jan 25, 12:02 PM · Restricted Project
Quuxplusone added inline comments to D93557: [libc++] [P0879] constexpr std::nth_element, and rewrite its tests..
Mon, Jan 25, 10:20 AM · Restricted Project
Quuxplusone updated the diff for D94452: [libc++] Support immovable return types in std::function..

Silence -Wignored-qualifiers also for GCC. If this makes CI green, I'll land this.

Mon, Jan 25, 10:14 AM · Restricted Project

Sun, Jan 24

Quuxplusone updated the diff for D94452: [libc++] Support immovable return types in std::function..

Add some unit tests for pointers-to-member(-function)s, as suggested by @logan-5.

Sun, Jan 24, 12:45 PM · Restricted Project
Quuxplusone added inline comments to D94452: [libc++] Support immovable return types in std::function..
Sun, Jan 24, 9:05 AM · Restricted Project
Quuxplusone updated the diff for D94452: [libc++] Support immovable return types in std::function..

Address review comments and try to silence -Wignored-qualifiers warnings.

Sun, Jan 24, 9:05 AM · Restricted Project

Fri, Jan 22

Quuxplusone added inline comments to D95248: [libc++][doc] Update the release notes.
Fri, Jan 22, 11:59 AM · Restricted Project

Thu, Jan 21

Quuxplusone added a comment to D94452: [libc++] Support immovable return types in std::function..

The theme of the answers to many of your questions is "because the standard library sucks on purpose." Both is_convertible and declval are unfit for purpose in most places where a metaprogrammer might think about using them.

Thu, Jan 21, 12:02 PM · Restricted Project
Quuxplusone updated the diff for D94452: [libc++] Support immovable return types in std::function..

Support std::function<const NonCopyable()>, and then discover that std::function<const void()> wasn't fully supported either. This is now fixed.
However, the unit test for the fix might be unacceptable, because it inevitably triggers -Wignored-qualifiers and I can't figure out how to shut it up. @ldionne, any ideas?

Thu, Jan 21, 11:29 AM · Restricted Project

Tue, Jan 19

Quuxplusone added inline comments to D90188: Add support for attribute 'using_if_exists'.
Tue, Jan 19, 11:35 AM
Quuxplusone added a comment to D93912: [libc++][P1679] add string contains.

https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations seems out of date anyway, the draft standard is maybe a better source? https://eel.is/c++draft/version.syn

Tue, Jan 19, 7:41 AM · Restricted Project

Mon, Jan 18

Quuxplusone updated the diff for D93819: [libc++] Implement [P0769] "Add shift to algorithm" (shift_left, shift_right).

(->[
_LIBCPP_CONSTEXPR_AFTER_CXX17->constexpr

Mon, Jan 18, 4:02 PM · Restricted Project
Quuxplusone added inline comments to D93819: [libc++] Implement [P0769] "Add shift to algorithm" (shift_left, shift_right).
Mon, Jan 18, 4:01 PM · Restricted Project
Quuxplusone accepted D93912: [libc++][P1679] add string contains.
Mon, Jan 18, 1:07 PM · Restricted Project
Quuxplusone added a comment to D93912: [libc++][P1679] add string contains.

@ldionne: LGTM except that the non-constexpr tests no longer need to return true; from bool test() — they could do void test() for now.
Also, I don't think this will rebase as-is on generate_feature_test_macro_components.py, will it? You'll have to add the entry for __cpp_lib_string_contains, which will be easy — but I notice that it will be a divergence from what's literally in https://isocpp.org/std/standing-documents/sd-6-sg10-feature-test-recommendations as of this writing. I would bet that's fine; I'm just bringing it up for awareness.

Mon, Jan 18, 1:07 PM · Restricted Project

Sat, Jan 16

Quuxplusone updated the diff for D94807: [libc++] Rationalize our treatment of contiguous iterators and __unwrap_iter()..

Rebase, and fix my new test's constexprness in C++11 mode.

Sat, Jan 16, 9:30 AM · Restricted Project

Fri, Jan 15

Quuxplusone updated the diff for D94807: [libc++] Rationalize our treatment of contiguous iterators and __unwrap_iter()..

In the new test, make TCBNTM and TMBNTC copy-constructible, because if they're not, then you can't make an array of them pre-C++17. ("error: copying array element of type 'TMBNTC'...")

Fri, Jan 15, 4:07 PM · Restricted Project
Quuxplusone updated the diff for D94807: [libc++] Rationalize our treatment of contiguous iterators and __unwrap_iter()..

Tests failed. Let's try this again.

Fri, Jan 15, 1:44 PM · Restricted Project
Quuxplusone updated the diff for D94807: [libc++] Rationalize our treatment of contiguous iterators and __unwrap_iter()..

Improve the contiguous_iterators.pass.cpp test, including a test case for exactly what I'd expect Chromium to write in their code to enable contiguous-iterator-ness.

Fri, Jan 15, 10:35 AM · Restricted Project
Quuxplusone requested review of D94807: [libc++] Rationalize our treatment of contiguous iterators and __unwrap_iter()..
Fri, Jan 15, 10:17 AM · Restricted Project

Wed, Jan 13

Quuxplusone updated subscribers of D92776: [libc++] ADL-proof <algorithm> by adding _VSTD:: qualification on calls..
Wed, Jan 13, 6:31 PM · Restricted Project

Tue, Jan 12

Quuxplusone added a comment to D88220: [C++20] P1825R0: More implicit moves.

@nullptr.cpp: I may or may not come up with more review comments, but either way I'm a dead end — I don't consider myself authorized to "accept" Clang changes.
You're still going to have to attract the attention of someone with the authority and/or force-of-will to say "okay ship it."

Tue, Jan 12, 7:13 PM · Restricted Project
Quuxplusone added a comment to D94530: [libc++] improve feature test macro script.

Seems like a generally good direction to me, FWIW.

Tue, Jan 12, 10:28 AM · Restricted Project

Mon, Jan 11

Quuxplusone added inline comments to D93912: [libc++][P1679] add string contains.
Mon, Jan 11, 7:01 PM · Restricted Project
Quuxplusone added inline comments to D93912: [libc++][P1679] add string contains.
Mon, Jan 11, 6:56 PM · Restricted Project
Quuxplusone updated the diff for D93819: [libc++] Implement [P0769] "Add shift to algorithm" (shift_left, shift_right).

Merged some test cases from D60027.

Mon, Jan 11, 4:08 PM · Restricted Project
Quuxplusone updated the summary of D94452: [libc++] Support immovable return types in std::function..
Mon, Jan 11, 2:36 PM · Restricted Project
Quuxplusone requested review of D94452: [libc++] Support immovable return types in std::function..
Mon, Jan 11, 2:28 PM · Restricted Project
Quuxplusone added inline comments to D93912: [libc++][P1679] add string contains.
Mon, Jan 11, 11:34 AM · Restricted Project
Quuxplusone updated the diff for D93819: [libc++] Implement [P0769] "Add shift to algorithm" (shift_left, shift_right).

Rebased on main. @ldionne ping! :)

Mon, Jan 11, 9:15 AM · Restricted Project

Fri, Jan 8

Quuxplusone updated the diff for D93512: [libc++] [P0879] constexpr heap and partial_sort algorithms.

Rebase on D93443. @ldionne ping (after D93443)!

Fri, Jan 8, 2:57 PM · Restricted Project
Quuxplusone updated the diff for D93443: [libc++] [P0879] constexpr reverse, partition, *_permutation.

Rebased on main. @ldionne ping!

Fri, Jan 8, 2:36 PM · Restricted Project
Quuxplusone added a comment to D93816: [libc++] Mark [P0475] "LWG2511: guaranteed copy elision for piecewise construction" as Complete. NFC..

@EricWF @ldionne ping!

Fri, Jan 8, 2:07 PM · Restricted Project
Quuxplusone updated the diff for D93830: [libc++] Update generate_feature_test_macro_components.py to match SD-6.

Whoops, my rebasing lost the UNSUPPORTED entries for barrier/latch/semaphore. Restored.

Fri, Jan 8, 7:37 AM · Restricted Project
Quuxplusone added inline comments to D93830: [libc++] Update generate_feature_test_macro_components.py to match SD-6.
Fri, Jan 8, 7:33 AM · Restricted Project
Quuxplusone added inline comments to D93095: Introduce -Wreserved-identifier.
Fri, Jan 8, 7:05 AM

Thu, Jan 7

Quuxplusone updated the diff for D93830: [libc++] Update generate_feature_test_macro_components.py to match SD-6.

Push the alphabetization part (thanks @ldionne!), and rebase.

Thu, Jan 7, 3:25 PM · Restricted Project
Quuxplusone updated the diff for D93830: [libc++] Update generate_feature_test_macro_components.py to match SD-6.

Rebased on main after D93383.

Thu, Jan 7, 7:45 AM · Restricted Project

Wed, Jan 6

Quuxplusone added inline comments to D93095: Introduce -Wreserved-identifier.
Wed, Jan 6, 3:45 PM

Tue, Jan 5

Quuxplusone added a comment to D94122: [libc++][P0457] add string starts ends with feature test macro.

LGTM, but redundant with D93830.

Tue, Jan 5, 7:24 PM · Restricted Project
Quuxplusone added inline comments to D92936: [Sema] Fix deleted function problem in implicitly movable test.
Tue, Jan 5, 7:20 AM · Restricted Project

Mon, Jan 4

Quuxplusone added a comment to D92936: [Sema] Fix deleted function problem in implicitly movable test.

Before the revert, our bots hit the following issue where we only error out when -Wall is given, so there's definitely something strange going on.

Mon, Jan 4, 1:32 PM · Restricted Project

Sun, Jan 3

Quuxplusone added a comment to D92936: [Sema] Fix deleted function problem in implicitly movable test.
Sun, Jan 3, 8:36 AM · Restricted Project

Fri, Jan 1

Quuxplusone added a comment to D92936: [Sema] Fix deleted function problem in implicitly movable test.

This broke [ https://godbolt.org/z/9EG7ev ]
is this intentional?

Fri, Jan 1, 7:34 PM · Restricted Project
Quuxplusone added inline comments to D93955: [Sema] Add support for reporting multiple errors during initialization.
Fri, Jan 1, 8:45 AM · Restricted Project
Quuxplusone added a comment to D93962: [Sema] Fix the program state in reference initialization.

This could use some tests. (What's observably bad about the old code's behavior? does this patch fix that behavior?)

Fri, Jan 1, 8:35 AM · Restricted Project

Wed, Dec 30

Quuxplusone updated the diff for D93830: [libc++] Update generate_feature_test_macro_components.py to match SD-6.

Add ["UNSUPPORTED: libcpp-has-no-threads"] to barrier, latch and semaphore.

Wed, Dec 30, 8:07 AM · Restricted Project
Quuxplusone added inline comments to D93383: [libc++] Use c++20 instead of c++2a consistently..
Wed, Dec 30, 7:24 AM · Restricted Project

Tue, Dec 29

Quuxplusone added inline comments to D93383: [libc++] Use c++20 instead of c++2a consistently..
Tue, Dec 29, 4:20 PM · Restricted Project
Quuxplusone requested changes to D93912: [libc++][P1679] add string contains.
Tue, Dec 29, 1:08 PM · Restricted Project

Dec 28 2020

Quuxplusone updated the diff for D93815: [libc++] [P1065] Constexpr invoke, reference_wrapper, mem_fn, not_fn..

Fix a failing test (don't put constexpr on non-const methods in C++11).
If buildkite is green after this, imma push it.

Dec 28 2020, 8:46 AM · Restricted Project

Dec 27 2020

Quuxplusone updated subscribers of D76572: Replace `T(x)` with `reinterpret_cast<T>(x)` everywhere it means reinterpret_cast. No functional change.

Do you plan to follow-up with the diagnostic itself, in some form?

Dec 27 2020, 12:31 PM · Restricted Project, Restricted Project
Quuxplusone updated the diff for D93815: [libc++] [P1065] Constexpr invoke, reference_wrapper, mem_fn, not_fn..

Poke the buildbot. (It's been stuck in "pre-merge checks" for 10 hours.)

Dec 27 2020, 7:35 AM · Restricted Project

Dec 26 2020

Quuxplusone updated the diff for D93815: [libc++] [P1065] Constexpr invoke, reference_wrapper, mem_fn, not_fn..

Run constexpr tests also in non-constexpr mode. Rebase on main.

Dec 26 2020, 8:41 PM · Restricted Project
Quuxplusone added inline comments to D93815: [libc++] [P1065] Constexpr invoke, reference_wrapper, mem_fn, not_fn..
Dec 26 2020, 8:37 PM · Restricted Project
Quuxplusone requested review of D93830: [libc++] Update generate_feature_test_macro_components.py to match SD-6.
Dec 26 2020, 7:24 PM · Restricted Project

Dec 25 2020

Quuxplusone requested review of D93819: [libc++] Implement [P0769] "Add shift to algorithm" (shift_left, shift_right).
Dec 25 2020, 11:26 PM · Restricted Project
Quuxplusone updated the diff for D93815: [libc++] [P1065] Constexpr invoke, reference_wrapper, mem_fn, not_fn..

Complete the implementation of __cpp_lib_constexpr_functional and set that feature macro. This involves constexprifying std::default_searcher from P1032 "Misc constexpr bits". There's more "misc" stuff in P1032, which I have not attempted to do in this PR because it doesn't affect the __cpp_lib_constexpr_functional feature macro.

Dec 25 2020, 6:11 PM · Restricted Project
Quuxplusone updated the diff for D93816: [libc++] Mark [P0475] "LWG2511: guaranteed copy elision for piecewise construction" as Complete. NFC..
Dec 25 2020, 5:43 PM · Restricted Project
Quuxplusone requested review of D93816: [libc++] Mark [P0475] "LWG2511: guaranteed copy elision for piecewise construction" as Complete. NFC..
Dec 25 2020, 1:27 PM · Restricted Project
Quuxplusone requested review of D93815: [libc++] [P1065] Constexpr invoke, reference_wrapper, mem_fn, not_fn..
Dec 25 2020, 1:10 PM · Restricted Project

Dec 24 2020

Quuxplusone accepted D92936: [Sema] Fix deleted function problem in implicitly movable test.

I don't fully understand the new control flow, but at least the new behavior (after applying this patch) looks like an improvement to me.
I recommend rebasing on top-of-tree, mainly so that the buildbots will run again and presumably be greener this time.

Dec 24 2020, 1:09 PM · Restricted Project

Dec 23 2020

Quuxplusone added inline comments to D92024: [clang] Implement P0692R1 from C++20 (access checking on specializations and instantiations).
Dec 23 2020, 10:03 AM · Restricted Project, Restricted Project
Quuxplusone added inline comments to D93562: [libc++] Add a missing `<_Compare>` template argument..
Dec 23 2020, 8:59 AM · Restricted Project

Dec 22 2020

Quuxplusone updated the diff for D76572: Replace `T(x)` with `reinterpret_cast<T>(x)` everywhere it means reinterpret_cast. No functional change.
Dec 22 2020, 3:27 PM · Restricted Project, Restricted Project
Quuxplusone updated the diff for D76572: Replace `T(x)` with `reinterpret_cast<T>(x)` everywhere it means reinterpret_cast. No functional change.

Rebase in preparation for finally pushing this thing if the buildbots seem happy.

Dec 22 2020, 2:27 PM · Restricted Project, Restricted Project
Quuxplusone added inline comments to D93074: [libc++] Split allocator_traits and pointer_traits out of <memory>.
Dec 22 2020, 6:22 AM · Restricted Project
Quuxplusone updated the diff for D89057: Add the C++17 <memory_resource> header (mono-patch).

Rename "initial_header" to "initial_descriptor" (since technically it's neither a header nor a footer).
Rebase on main.

Dec 22 2020, 5:51 AM · Restricted Project
Quuxplusone added inline comments to D93074: [libc++] Split allocator_traits and pointer_traits out of <memory>.
Dec 22 2020, 5:21 AM · Restricted Project

Dec 21 2020

Quuxplusone updated the diff for D93661: [libc++] [P0879] constexpr std::sort, and add new tests for it.

Add feature-macro stuff and update the CSV files.

Dec 21 2020, 8:23 PM · Restricted Project
Quuxplusone added inline comments to D93661: [libc++] [P0879] constexpr std::sort, and add new tests for it.
Dec 21 2020, 1:07 PM · Restricted Project
Quuxplusone requested review of D93661: [libc++] [P0879] constexpr std::sort, and add new tests for it.
Dec 21 2020, 12:54 PM · Restricted Project

Dec 20 2020

Quuxplusone added inline comments to D93562: [libc++] Add a missing `<_Compare>` template argument..
Dec 20 2020, 3:06 PM · Restricted Project

Dec 18 2020

Quuxplusone requested review of D93562: [libc++] Add a missing `<_Compare>` template argument..
Dec 18 2020, 12:55 PM · Restricted Project
Quuxplusone requested review of D93557: [libc++] [P0879] constexpr std::nth_element, and rewrite its tests..
Dec 18 2020, 10:53 AM · Restricted Project

Dec 17 2020

Quuxplusone requested review of D93512: [libc++] [P0879] constexpr heap and partial_sort algorithms.
Dec 17 2020, 9:31 PM · Restricted Project
Quuxplusone added inline comments to D92361: [trivial-abi] Support types without a copy or move constructor..
Dec 17 2020, 7:52 AM · Restricted Project
Quuxplusone updated the diff for D93443: [libc++] [P0879] constexpr reverse, partition, *_permutation.

The buildbot was indeed happy. Remove the *_heap algorithms (in preparation for their separate PR). This is now ready for landing AFAIC.

Dec 17 2020, 7:30 AM · Restricted Project

Dec 16 2020

Quuxplusone requested review of D93443: [libc++] [P0879] constexpr reverse, partition, *_permutation.
Dec 16 2020, 9:40 PM · Restricted Project
Quuxplusone requested review of D93424: [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls..
Dec 16 2020, 3:32 PM · Restricted Project

Dec 14 2020

Quuxplusone added inline comments to D93153: [libc++] Consistently replace `::new(__p) T` with `::new ((void*)__p) T`. NFCI.
Dec 14 2020, 2:02 PM · Restricted Project
Quuxplusone updated the diff for D92884: [libc++] ADL-proof <functional> by adding _VSTD:: qualification on calls..

Temporarily rebase on D93153 to see if D93153 indeed fixes the GCC buildbot issue. (Will still wait for review of D93153 before landing either of these.)

Dec 14 2020, 7:04 AM · Restricted Project

Dec 11 2020

Quuxplusone requested review of D93153: [libc++] Consistently replace `::new(__p) T` with `::new ((void*)__p) T`. NFCI.
Dec 11 2020, 6:08 PM · Restricted Project
Quuxplusone added inline comments to D93137: generate_header_tests.py: Sort the header files ASCIIbetically..
Dec 11 2020, 2:06 PM · Restricted Project
Quuxplusone updated the diff for D93137: generate_header_tests.py: Sort the header files ASCIIbetically..
Dec 11 2020, 2:06 PM · Restricted Project
Quuxplusone added a comment to D92884: [libc++] ADL-proof <functional> by adding _VSTD:: qualification on calls..

The GCC test failure is interesting. I just filed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98249 about it, and will wait to see what develops.

Dec 11 2020, 1:56 PM · Restricted Project
Quuxplusone updated the diff for D89057: Add the C++17 <memory_resource> header (mono-patch).

No change since last time. Rebase on D93137, and poke buildbots.

Dec 11 2020, 11:57 AM · Restricted Project
Quuxplusone requested review of D93137: generate_header_tests.py: Sort the header files ASCIIbetically..
Dec 11 2020, 11:44 AM · Restricted Project
Quuxplusone updated the diff for D92884: [libc++] ADL-proof <functional> by adding _VSTD:: qualification on calls..

Rebase, to poke the buildbot.

Dec 11 2020, 11:18 AM · Restricted Project

Dec 10 2020

Quuxplusone updated the diff for D93061: [libc++] ADL-proof by adding _VSTD:: qualifications to memmove etc. NFCI.

Rebased on D92875 for the benefit of buildkite. If buildkite is green, I'm going to land both of these.

Dec 10 2020, 5:58 PM · Restricted Project
Quuxplusone added inline comments to D92725: [libc++] [LWG2993] reference_wrapper<T> conversion from U&&.
Dec 10 2020, 5:53 PM · Restricted Project
Quuxplusone updated the summary of D93061: [libc++] ADL-proof by adding _VSTD:: qualifications to memmove etc. NFCI.
Dec 10 2020, 12:53 PM · Restricted Project