Page MenuHomePhabricator
Feed Advanced Search

Today

Quuxplusone added inline comments to D107402: Correct a lot of diagnostic wordings for the driver.
Wed, Aug 4, 9:08 AM · Restricted Project
Quuxplusone requested changes to D107124: [SystemZ][z/OS][libcxx]: Disable some new operator test cases on z/OS.

LGTM mod some trivial comments. I'd also like to wait up to 48 hours for @mstorsjo's feedback, if any.

Wed, Aug 4, 8:59 AM
Quuxplusone added inline comments to D107294: [clang-tidy] adds warning to suggest users replace symbols with words.
Wed, Aug 4, 8:50 AM · Restricted Project, Restricted Project, Restricted Project

Yesterday

Quuxplusone added inline comments to D62259: shared_ptr changes from library fundamentals (P0414R2).
Tue, Aug 3, 12:55 PM · Restricted Project, Restricted Project
Quuxplusone added inline comments to D106394: [clang][pp] adds '#pragma include_instead'.
Tue, Aug 3, 11:49 AM · Restricted Project

Mon, Aug 2

Quuxplusone accepted D107239: [libcxx] Remove _LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED.

FWIW, this looks good to me. (I was initially prepared to disapprove of removing support for weird old compilers, but after seeing the diff, I agree: any compiler that expects to compile a C++20 standard library implementation needs to provide __builtin_is_constant_evaluated, full stop. And this patch simplifies the codebase nicely.)

Mon, Aug 2, 2:34 PM · Restricted Project
Quuxplusone added a comment to D107292: [clang] adds warning to alert user when they use alternative tokens in declarations.

@dblaikie wrote:

Not a huge objection - but minor quandry: What's the motivation for this patch?

Mon, Aug 2, 2:29 PM · Restricted Project
Quuxplusone accepted D106252: Make simple requirements starting with requires ill-formed in in requirement body.

@cor3ntin: Sure, LGTM.

Mon, Aug 2, 2:16 PM · Restricted Project

Fri, Jul 30

Quuxplusone accepted D107199: [libc++] Refactor __perfect_forward, bind_front and not_fn.

If buildkite is happy, I'm happy.

Fri, Jul 30, 4:49 PM · Restricted Project
Quuxplusone updated the diff for D107036: [WIP] [libc++] [P1614] Various unimplemented parts of <compare>. [WIP].

Rebase (expecting CI to pass this time)

Fri, Jul 30, 11:17 AM · Restricted Project
Quuxplusone updated the summary of D107036: [WIP] [libc++] [P1614] Various unimplemented parts of <compare>. [WIP].
Fri, Jul 30, 11:13 AM · Restricted Project
Quuxplusone added inline comments to D107098: [libc++] Implement the underlying mechanism for range adaptors.
Fri, Jul 30, 10:47 AM · Restricted Project
Quuxplusone requested changes to D107169: [libc++] Do not define views::all as a CPO since it isn't one.

https://eel.is/c++draft/range.adaptor.object#2

A range adaptor object is a customization point object...

Fri, Jul 30, 8:08 AM · Restricted Project

Thu, Jul 29

Quuxplusone added inline comments to D107098: [libc++] Implement the underlying mechanism for range adaptors.
Thu, Jul 29, 7:47 PM · Restricted Project
Quuxplusone added a comment to D107124: [SystemZ][z/OS][libcxx]: Disable some new operator test cases on z/OS.

This appears to be the same as D105910. I advise merging these changes into that one; and then also taking the approach suggested by mstorsjo, ldionne and myself over there, of introducing a higher-level macro like ASSERT_VIA_OVERRIDDEN_NEW on the specific lines that are expected to fail when operator new can't be overridden on the platform.

Thu, Jul 29, 6:27 PM
Quuxplusone added inline comments to D107098: [libc++] Implement the underlying mechanism for range adaptors.
Thu, Jul 29, 3:05 PM · Restricted Project
Quuxplusone accepted D106916: [libc++] Handle arrays in std::destroy_at.
Thu, Jul 29, 2:19 PM · Restricted Project
Quuxplusone updated the diff for D107036: [WIP] [libc++] [P1614] Various unimplemented parts of <compare>. [WIP].

Has tests now.
std::strong_order still doesn't compare NaNs correctly; we may need a domain expert for this.
Everything up to strong_order is probably ready to upload separately for review:

Thu, Jul 29, 12:58 PM · Restricted Project
Quuxplusone added inline comments to D106923: [libcxx][ranges] Add `views::counted` CPO..
Thu, Jul 29, 8:33 AM · Restricted Project
Quuxplusone added inline comments to D107066: [libc++] TEST DO NOT REVIEW.
Thu, Jul 29, 8:20 AM · Restricted Project

Wed, Jul 28

Quuxplusone planned changes to D107036: [WIP] [libc++] [P1614] Various unimplemented parts of <compare>. [WIP].
Wed, Jul 28, 10:38 PM · Restricted Project
Quuxplusone requested review of D107036: [WIP] [libc++] [P1614] Various unimplemented parts of <compare>. [WIP].
Wed, Jul 28, 10:38 PM · Restricted Project
Quuxplusone added a comment to D106107: [libc++][modularisation] Split <compare> into internal headers.

For that I also need your email address (which is probably gettable from Phabricator somehow, but it's not obvious ;))

Didn't figure it out from Phab, but the mails sent to the reviews.llvm.org mailing list have it. I'll land this shortly.

Wed, Jul 28, 7:23 PM · Restricted Project
Quuxplusone closed D106827: [libc++] Implement the resolutions for LWG3506 and LWG3522..

Landed as part of rG3894a8a4768f

Wed, Jul 28, 6:20 PM · Restricted Project
Quuxplusone added a comment to D106107: [libc++][modularisation] Split <compare> into internal headers.

There is a high probability that CI will be successful. If it's the case I would need somebody to commit this patch for me.
@Quuxplusone, if I remember correctly you volunteered to do that. Could you please help?
Full name: Ruslan Arutyunyan

Wed, Jul 28, 6:18 PM · Restricted Project
Quuxplusone updated the diff for D106827: [libc++] Implement the resolutions for LWG3506 and LWG3522..

Roll D106824 into D106827. Add is_constructible tests also for the new constructors added in D106824.

Wed, Jul 28, 2:35 PM · Restricted Project
Quuxplusone added inline comments to D103357: [libc++][format] Add __format_arg_store..
Wed, Jul 28, 1:36 PM · Restricted Project
Quuxplusone updated the diff for D106824: [libc++] Implement the resolution of LWG3506 in all language modes..

Fix shadowing warning in new tests by s/comp/compare/g.

Wed, Jul 28, 12:42 PM · Restricted Project
Quuxplusone updated the diff for D106827: [libc++] Implement the resolutions for LWG3506 and LWG3522..
Wed, Jul 28, 11:16 AM · Restricted Project
Quuxplusone added inline comments to D106824: [libc++] Implement the resolution of LWG3506 in all language modes..
Wed, Jul 28, 11:14 AM · Restricted Project
Quuxplusone updated the diff for D106824: [libc++] Implement the resolution of LWG3506 in all language modes..

Update tests: my sneaky inheritance of constructors didn't work in C++03 mode, so revert to something much closer to the existing approach in other priority_queue tests.
"13.0" is now "14.0".

Wed, Jul 28, 11:14 AM · Restricted Project
Quuxplusone added inline comments to D105910: [SystemZ][z/OS][libcxx] Mark tests that require runtime linking as unsupported on z/OS.
Wed, Jul 28, 9:59 AM · Restricted Project

Tue, Jul 27

Quuxplusone requested changes to D106916: [libc++] Handle arrays in std::destroy_at.
Tue, Jul 27, 8:04 PM · Restricted Project
Quuxplusone added a comment to D106763: [libc++][RFC] Disable incomplete library features..

FWIW, my general reaction is that this patch does more harm (to end-users) than good. But (1) it's above my pay grade, and (2) from the end-user's perspective, Clang 13 won't be any less featureful than Clang 12; it'll just be more self-deprecatingly whiny about its continued lack of features.

Tue, Jul 27, 12:52 PM · Restricted Project
Quuxplusone added inline comments to D106507: [libcxx][ranges] Add ranges::take_view..
Tue, Jul 27, 12:44 PM · Restricted Project

Mon, Jul 26

Quuxplusone accepted D106205: [libcxx][ranges] Add `counted_iterator`..

(I didn't look at the tests.)

Mon, Jul 26, 7:48 PM · Restricted Project
Quuxplusone accepted D106107: [libc++][modularisation] Split <compare> into internal headers.

One final nit, then ship it!
(Assuming you don't need someone to land this for you. But if you do, please ping me and I can do it.)

Mon, Jul 26, 3:49 PM · Restricted Project
Quuxplusone added a comment to D106691: [libc++] Fix vector spacing error.

We can't reformat the whole file, of course; but I've gone ahead and landed the original 2*__cap changes for you.

Mon, Jul 26, 3:24 PM · Restricted Project, Restricted Project
Quuxplusone added inline comments to D106827: [libc++] Implement the resolutions for LWG3506 and LWG3522..
Mon, Jul 26, 2:12 PM · Restricted Project
Quuxplusone requested review of D106827: [libc++] Implement the resolutions for LWG3506 and LWG3522..
Mon, Jul 26, 2:09 PM · Restricted Project
Quuxplusone requested review of D106824: [libc++] Implement the resolution of LWG3506 in all language modes..
Mon, Jul 26, 1:59 PM · Restricted Project
Quuxplusone accepted D106107: [libc++][modularisation] Split <compare> into internal headers.

LGTM mod nits.

Mon, Jul 26, 12:45 PM · Restricted Project
Quuxplusone added inline comments to D106735: [libc++] Fix signed overflow inside ranges::advance..
Mon, Jul 26, 9:46 AM · Restricted Project
Quuxplusone added inline comments to D106801: [libc++] [c++2b] [P2166] Prohibit string and string_view construction from nullptr..
Mon, Jul 26, 9:43 AM · Restricted Project

Sat, Jul 24

Quuxplusone updated the diff for D106735: [libc++] Fix signed overflow inside ranges::advance..

Address review comments.

Sat, Jul 24, 8:25 AM · Restricted Project
Quuxplusone added inline comments to D96664: [libc++][format] Implement formatters..
Sat, Jul 24, 7:43 AM · Restricted Project

Fri, Jul 23

Quuxplusone updated the diff for D106735: [libc++] Fix signed overflow inside ranges::advance..

whoops, didn't commit --amend before diffing

Fri, Jul 23, 7:21 PM · Restricted Project
Quuxplusone requested review of D106735: [libc++] Fix signed overflow inside ranges::advance..
Fri, Jul 23, 7:20 PM · Restricted Project
Quuxplusone requested changes to D106252: Make simple requirements starting with requires ill-formed in in requirement body.
Fri, Jul 23, 4:58 PM · Restricted Project
Quuxplusone accepted D106704: [libc++] Implement the output_iterator and output_range concepts.

LGTM mod comments.

Fri, Jul 23, 2:54 PM · Restricted Project
Quuxplusone accepted D106708: [libc++] Add range_size_t.

LGTM mod comments.

Fri, Jul 23, 2:41 PM · Restricted Project
Quuxplusone updated subscribers of D106372: [libc++] Avoid triggering warnings for implicit conversion.

@ldionne: Serendipitously, @jwakely just alerted me to LWG's Tentatively Ready on @tcanens' paper P2393R0 "Cleaning up integer-class types", which specifically mandates (the effect of) an explicit cast from decltype(n) to iter_difference_t<I> every time the library clauses talk about i + n or i - n. See the added section marked '?', in green.
The state-of-trunk after D106372 seems pretty darn close to what's about to be mandated — and in particular, D106372 didn't make things worse. :) Good!

Fri, Jul 23, 1:45 PM · Restricted Project
Quuxplusone requested changes to D75960: [libc++] Implement C++20's P0476r2: std::bit_cast.

LGTM % comments, FWIW.

Fri, Jul 23, 1:01 PM · Restricted Project
Quuxplusone abandoned D106567: [libc++] [ranges] Replace __function_like inheritance with a macro..

@ldionne: Okay. Although I look forward to reopening this after the addition of another dozen Ranges algorithms start spaghettifying the modulemap beyond your tolerance for spaghetti. :)

Fri, Jul 23, 8:51 AM · Restricted Project
Quuxplusone added inline comments to D105794: [libcxx][algorithms] adds ranges::is_partitioned and ranges::partition_point.
Fri, Jul 23, 6:36 AM · Restricted Project
Quuxplusone added inline comments to D105795: [libcxx][algorithms] adds ranges::lower_bound and ranges::upper_bound.
Fri, Jul 23, 6:27 AM · Restricted Project

Thu, Jul 22

Quuxplusone added inline comments to D103357: [libc++][format] Add __format_arg_store..
Thu, Jul 22, 1:40 PM · Restricted Project
Quuxplusone added inline comments to D105078: [libcxx][modularisation] properly modularises advance, next, and prev.
Thu, Jul 22, 12:57 PM · Restricted Project
Quuxplusone updated the diff for D106567: [libc++] [ranges] Replace __function_like inheritance with a macro..

Note to self: The way to check the troublesome modules test locally, without a full test run, is

./bin/clang++ -std=c++20 ../libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/special_function.compile.pass.cpp -I ../libcxx/test/support/ "-fmodules" "-Xclang" "-fmodules-local-submodule-visibility" "-fcoroutines-ts" -c
Thu, Jul 22, 12:55 PM · Restricted Project
Quuxplusone updated the diff for D106567: [libc++] [ranges] Replace __function_like inheritance with a macro..

Having confirmed the "Modular build" step fails with the original patch ( https://buildkite.com/llvm-project/libcxx-ci/builds/4430#9311f9f8-91ca-4465-a9b1-0ca67dd641ca ), now try it with __function_like non-private (to match __hash_table etc).

Thu, Jul 22, 10:40 AM · Restricted Project
Quuxplusone requested review of D106567: [libc++] [ranges] Replace __function_like inheritance with a macro..
Thu, Jul 22, 8:53 AM · Restricted Project
Quuxplusone accepted D106529: [libc++][doc] Update the LWG issues..
Thu, Jul 22, 8:46 AM · Restricted Project

Wed, Jul 21

Quuxplusone updated subscribers of D105758: Hold mutex lock while notify_all is called at notify_all_at_thread_exit.
Wed, Jul 21, 7:43 PM · Restricted Project
Quuxplusone requested changes to D105078: [libcxx][modularisation] properly modularises advance, next, and prev.
Wed, Jul 21, 3:08 PM · Restricted Project
Quuxplusone added a comment to D106394: [clang][pp] adds '#pragma include_instead'.

Hmm... I like prior art. That clangd supports it suggests that there's a section of code I can look at for inspiration if we were to replace this pragma with the IWYU comment-pragma (I wonder why they didn't just go with #pragma IWYU ...?). Is it reasonable for a compiler to interpret comments and issue/adjust diagnostics based on those comments? I thought that was the purpose of a pp-pragma.

Wed, Jul 21, 9:51 AM · Restricted Project
Quuxplusone added inline comments to D102121: [libcxx][ranges] adds _`non-propagating-cache`_.
Wed, Jul 21, 8:59 AM · Restricted Project
Quuxplusone added a comment to D106372: [libc++] Avoid triggering warnings for implicit conversion.

LGTM at this point if buildkite is happy (which it seems it's not, yet).
If you think the advance stuff needs more thought/discussion, then feel free to ship the hash and tuple pieces, which seem utterly non-controversial, just to get them out of the way.

Wed, Jul 21, 7:53 AM · Restricted Project

Tue, Jul 20

Quuxplusone requested changes to D106372: [libc++] Avoid triggering warnings for implicit conversion.
Tue, Jul 20, 3:10 PM · Restricted Project
Quuxplusone added inline comments to D106364: [libc++] Add `__libcpp_copysign` conditionally constexpr overloads..
Tue, Jul 20, 1:06 PM · Restricted Project
Quuxplusone added inline comments to D102121: [libcxx][ranges] adds _`non-propagating-cache`_.
Tue, Jul 20, 12:31 PM · Restricted Project
Quuxplusone added inline comments to D102727: Use precise growth rather than amortized growth in std::string::resize/__resize_default_init..
Tue, Jul 20, 10:43 AM · Restricted Project
Quuxplusone added a comment to D105758: Hold mutex lock while notify_all is called at notify_all_at_thread_exit.

@vinipsmaker wrote:

What exactly "commandeering" refers to here?

Tue, Jul 20, 9:15 AM · Restricted Project
Quuxplusone added a comment to D102727: Use precise growth rather than amortized growth in std::string::resize/__resize_default_init..

LGTM at this point mod nits.
However, I still express no opinion as to whether we want to do this at all.
I'm just saying that if we wanted to do this, then I think this patch now reflects the appropriate way to do it.

Tue, Jul 20, 9:09 AM · Restricted Project
Quuxplusone commandeered D105758: Hold mutex lock while notify_all is called at notify_all_at_thread_exit.

Commandeering to add a test and update the LWG status page, per ldionne's request.

Tue, Jul 20, 8:36 AM · Restricted Project
Quuxplusone accepted D106153: [SystemZ][z/OS][libcxx]: fix libcxx test cases related to codecvt class UTF8.

Same as D106151: if @ldionne approves the use of the regex (either here or there or both), then I'd think you can land both D106151 and D106153.

Tue, Jul 20, 8:30 AM · Restricted Project
Quuxplusone added inline comments to D106364: [libc++] Add `__libcpp_copysign` conditionally constexpr overloads..
Tue, Jul 20, 8:25 AM · Restricted Project
Quuxplusone accepted D106151: [SystemZ][z/OS][libcxx]: fix libcxx test cases related to codecvt class UTF16/32 .

LGTM if it looks good to @ldionne. (The regex, for detecting z/OS, is unusual; but IMHO is probably the appropriate tool in this case.)

Tue, Jul 20, 8:08 AM · Restricted Project

Mon, Jul 19

Quuxplusone added inline comments to D106151: [SystemZ][z/OS][libcxx]: fix libcxx test cases related to codecvt class UTF16/32 .
Mon, Jul 19, 6:52 AM · Restricted Project
Quuxplusone added inline comments to D102727: Use precise growth rather than amortized growth in std::string::resize/__resize_default_init..
Mon, Jul 19, 6:43 AM · Restricted Project

Sun, Jul 18

Quuxplusone added inline comments to D103433: [libc++][format] Adds integer formatter..
Sun, Jul 18, 1:38 PM · Restricted Project

Fri, Jul 16

Quuxplusone requested changes to D106182: [libc++] Tidy-up instances of __STDCPP_DEFAULT_NEW_ALIGNMENT__ in the tests.

LGTM % comments. Requesting changes, but I don't really need to see it again.

Fri, Jul 16, 1:02 PM · Restricted Project
Quuxplusone added inline comments to D106153: [SystemZ][z/OS][libcxx]: fix libcxx test cases related to codecvt class UTF8.
Fri, Jul 16, 10:01 AM · Restricted Project
Quuxplusone added inline comments to D106151: [SystemZ][z/OS][libcxx]: fix libcxx test cases related to codecvt class UTF16/32 .
Fri, Jul 16, 10:00 AM · Restricted Project
Quuxplusone added a comment to D106151: [SystemZ][z/OS][libcxx]: fix libcxx test cases related to codecvt class UTF16/32 .

LGTM (if icky) for the char8_t-based tests.
For the other two tests that are currently failing buildkite in C++03 mode (because u's' is a syntax error in C++03), personally I would recommend leaving the code alone and just UNSUPPORTED'ing them on zOS. They're already marked with

// This test runs in C++20, but we have deprecated codecvt<char(16|32), char, mbstate_t> in C++20.

which indicates that it's not too important to make this stuff work on "new" platforms — in fact we're actively deprecating/breaking it on "old" platforms and it might be completely moot by the time C++23 ships.

Fri, Jul 16, 8:10 AM · Restricted Project

Thu, Jul 15

Quuxplusone added inline comments to D105932: [libcxx][modules] protects users from relying on libc++ detail headers (1/n).
Thu, Jul 15, 1:12 PM · Restricted Project
Quuxplusone added a comment to D104980: [libcxx][NFC] replaces `<utility>` includes with specific headers.

Someone from the Chrome toolchain team sent me an email this morning asking if we can trim our headers, since their include graph blames our user-facing headers as a huge build time sink.

Thu, Jul 15, 1:01 PM · Restricted Project
Quuxplusone added inline comments to D106067: [libc++] Add a CMake target to re-generate files and revamp CONTRIBUTING.rst.
Thu, Jul 15, 11:00 AM · Restricted Project
Quuxplusone added inline comments to D105932: [libcxx][modules] protects users from relying on libc++ detail headers (1/n).
Thu, Jul 15, 5:23 AM · Restricted Project
Quuxplusone added a comment to D105894: [libc++] NFCI: Restore code duplication in wrap_iter, with test..

@ldionne: Thanks for fixing that!

Thu, Jul 15, 5:12 AM · Restricted Project

Wed, Jul 14

Quuxplusone added inline comments to D103335: [libcxx][ranges] Adds `common_iterator`..
Wed, Jul 14, 5:35 PM · Restricted Project
Quuxplusone updated the diff for D105894: [libc++] NFCI: Restore code duplication in wrap_iter, with test..

Rebase on main to re-trigger CI.

Wed, Jul 14, 1:28 PM · Restricted Project
Quuxplusone updated the diff for D105894: [libc++] NFCI: Restore code duplication in wrap_iter, with test..

Disable the new test when <filesystem> is missing.
Refactor a bit.
I was planning to add tests for reverse_iterator comparisons as well, but it turns out that nobody supports that (and neither do we).

Wed, Jul 14, 10:02 AM · Restricted Project
Quuxplusone added inline comments to D105962: [libcxx] [test] Fix mismatches between aligned operator new and std::free.
Wed, Jul 14, 8:25 AM · Restricted Project

Tue, Jul 13

Quuxplusone updated the diff for D105894: [libc++] NFCI: Restore code duplication in wrap_iter, with test..

Restore the homogeneous comparison operators. Expand @ldionne's test case a little further. This is ready to land, IMHO, assuming CI is green.

Tue, Jul 13, 9:37 PM · Restricted Project
Quuxplusone added inline comments to D105816: [libc++] Implement views::all_t and ranges::viewable_range.
Tue, Jul 13, 8:34 PM · Restricted Project
Quuxplusone commandeered D105894: [libc++] NFCI: Restore code duplication in wrap_iter, with test..
Tue, Jul 13, 1:51 PM · Restricted Project
Quuxplusone accepted D105932: [libcxx][modules] protects users from relying on libc++ detail headers (1/n).

I predict controversy with patch #2. ;) But this certainly looks correct for the Modules part (and #3 and #4 should be equally straightforward).

Tue, Jul 13, 1:01 PM · Restricted Project
Quuxplusone requested changes to D105905: [libcxx] [test] Fix experimental/memory.resource.adaptor.mem/db_deallocate on Windows.

Looking at the git history of <experimental/memory_resource>, I can see that the calculation has always been

    static const size_t _MaxAlign = alignof(max_align_t);
[...]
    size_t __max_size() const _NOEXCEPT {
        return numeric_limits<size_t>::max() - _MaxAlign;
    }

Obviously __STDCPP_DEFAULT_NEW_ALIGNMENT__ has never been relevant to this behavior, and shouldn't have been mentioned in its tests.

Tue, Jul 13, 12:47 PM · Restricted Project
Quuxplusone accepted D105888: [libcxx] [docs] Acknowledge that the library is known to work in some configs outside of what's tested in CI.
Tue, Jul 13, 10:58 AM · Restricted Project

Mon, Jul 12

Quuxplusone added inline comments to D105753: [libcxx][ranges] Add `ranges::common_view`..
Mon, Jul 12, 9:40 AM · Restricted Project