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 (265 w, 1 d)

Recent Activity

Yesterday

Quuxplusone added inline comments to D73441: [clang-tidy] Fix bugprone-use-after-move when move is in noexcept operator.
Sun, Jan 26, 5:53 PM · Restricted Project, Restricted Project

Fri, Jan 24

Quuxplusone added a comment to D71059: [LLD][ELF] Add time-trace to ELF LLD (1/2).

I'm not qualified to comment on the functionality. This seems like it'll be OK with respect to thread_local on Mac OSX. No further comments from me.

Fri, Jan 24, 8:04 AM · Restricted Project

Mon, Jan 13

Quuxplusone added a comment to D72640: [libcxx] Qualify make_pair in searcher implementations to prevent ADL.

there seems to be an issue with a vector<value_type> __scratch in a helper function that I don't understand

Mon, Jan 13, 2:30 PM · Restricted Project

Wed, Jan 8

Quuxplusone updated subscribers of D72282: [clang-tidy] Add `bugprone-unintended-adl`.

Re which libc++ folks could give feedback on this ADL-diagnosing patch: I don't know precisely, but the candidates are few! @mclow.lists @EricWF @ldionne @zoecarver @CaseyCarter.

Wed, Jan 8, 6:15 PM · Restricted Project, Restricted Project
Quuxplusone added a comment to D72282: [clang-tidy] Add `bugprone-unintended-adl`.

Repeating for emphasis: This is awesome. :)

Wed, Jan 8, 10:49 AM · Restricted Project, Restricted Project
Quuxplusone added inline comments to D72282: [clang-tidy] Add `bugprone-unintended-adl`.
Wed, Jan 8, 10:40 AM · Restricted Project, Restricted Project

Tue, Jan 7

Quuxplusone added a comment to D50119: P1144 "Trivially relocatable" (0/3): Compiler support for `__is_trivially_relocatable(T)`.

If the committee is actively looking into this problem and considering multiple alternatives, I don't see a particular need to accept your proposal into Clang in advance of the committee's decision. Arguably that would even be somewhat inappropriate, since it might be seen as an endorsement of your proposal over the alternatives, which I don't believe anyone from Clang has looked into. Letting the committee make a decision also addresses our disagreements about the language design and avoids introducing unnecessary divergence if the eventually-accepted design doesn't match your proposal.

Having a workable patch that you've taken advantage of in various projects should count as implementation experience for the committee's purposes.

If the committee *isn't* taking this up, they absolutely should, though.

Tue, Jan 7, 1:46 PM · Restricted Project
Quuxplusone added a comment to D50119: P1144 "Trivially relocatable" (0/3): Compiler support for `__is_trivially_relocatable(T)`.

@rjmccall ping? any further thoughts on [[maybe_trivially_relocatable]], in light of the followup libc++ patches? (Those patches do not use [[maybe_trivially_relocatable]], although that may just be because I wrote them.)

Tue, Jan 7, 11:42 AM · Restricted Project

Mon, Jan 6

Quuxplusone added inline comments to D71059: [LLD][ELF] Add time-trace to ELF LLD (1/2).
Mon, Jan 6, 1:11 PM · Restricted Project

Wed, Jan 1

Quuxplusone updated the diff for D67524: P1144 "Trivially relocatable" (3/3): optimize std::vector reallocate/insert and std::swap for trivially relocatable types.

Migrate to the monorepo.
@EricWF ping? What's the deal with this new benchmark?

Wed, Jan 1, 4:56 PM · Restricted Project
Quuxplusone updated the diff for D61761: P1144 "Trivially relocatable" (1/3): is_trivially_relocatable, relocate_at, and uninitialized_relocate.

Migrate to the monorepo.
@ldionne @EricWF ping?

Wed, Jan 1, 4:56 PM · Restricted Project
Quuxplusone updated the diff for D63620: P1144 "Trivially relocatable" (2/3): explicit warrants for std library types.

Migrate to the monorepo.

Wed, Jan 1, 4:56 PM · Restricted Project
Quuxplusone updated the diff for D50119: P1144 "Trivially relocatable" (0/3): Compiler support for `__is_trivially_relocatable(T)`.

Migrate this patch to the monorepo.
Apply @Mordante's improvements and test-suite fixes.
This patch now passes all tests (although it had to change the expected output of some of them).

Wed, Jan 1, 4:47 PM · Restricted Project

Dec 23 2019

Quuxplusone added inline comments to D71548: Fix time trace multi threaded support with LLVM_ENABLE_THREADS=OFF.
Dec 23 2019, 2:23 PM · Restricted Project
Quuxplusone added inline comments to D71548: Fix time trace multi threaded support with LLVM_ENABLE_THREADS=OFF.
Dec 23 2019, 1:28 PM · Restricted Project
Quuxplusone added inline comments to D71548: Fix time trace multi threaded support with LLVM_ENABLE_THREADS=OFF.
Dec 23 2019, 5:08 AM · Restricted Project

Dec 16 2019

Quuxplusone added a comment to D71059: [LLD][ELF] Add time-trace to ELF LLD (1/2).

This patch breaks the build on Apple Clang (Mac OSX 10.13.6).

Dec 16 2019, 5:50 AM · Restricted Project

Nov 19 2019

Quuxplusone added a comment to D70390: [clang-tidy] new performance-no-automatic-move check..

Hi, I'm the main original author (although I would not claim "current maintainer") of the Clang warning.
Clang doesn't warn about const vector<int> v; return v; because in that case, adding std::move to the return would not help anything. I had not considered that we might suggest a "fixit" of "Change the declared type of this variable from vector to const vector"; that sounds like a big non-local change whose correctness would be very difficult to verify. I think (FWIW) that such a fixit would be a very hard sell, but at the same time I admit that I had not even thought of it when I was working on the diagnostic originally.

Nov 19 2019, 7:26 AM · Restricted Project, Restricted Project

Nov 7 2019

Quuxplusone added a comment to D69762: [Diagnostics] Try to improve warning message for -Wreturn-type.

How about "this non-void {function|block} {may|does} not return a value"

Nov 7 2019, 1:18 PM · Restricted Project, Restricted Project
Quuxplusone added a comment to D58896: Suppress -Wchar-subscripts if the index is a literal char.

Well, i am not sure if one twitter report is good motivation to criple warning.

The motivation for suppressing the warning was that it is not uncommon to use a character literal in lookup tables. In addition in brings the warning inline with the behaviour of -Wchar-subscripts in GCC.

Nov 7 2019, 12:42 PM · Restricted Project
Quuxplusone added inline comments to D69762: [Diagnostics] Try to improve warning message for -Wreturn-type.
Nov 7 2019, 12:41 PM · Restricted Project, Restricted Project

Oct 30 2019

Quuxplusone added inline comments to D68845: Don't emit unwanted constructor calls in co_return statements.
Oct 30 2019, 7:10 AM · Restricted Project

Oct 29 2019

Quuxplusone added a comment to D67524: P1144 "Trivially relocatable" (3/3): optimize std::vector reallocate/insert and std::swap for trivially relocatable types.

@EricWF ping!

Oct 29 2019, 2:35 PM · Restricted Project
Quuxplusone updated the diff for D67524: P1144 "Trivially relocatable" (3/3): optimize std::vector reallocate/insert and std::swap for trivially relocatable types.

Rebased on master, and fixed an exception-safety bug in my patch to vector::insert/erase.

Oct 29 2019, 2:33 PM · Restricted Project
Quuxplusone updated the diff for D63620: P1144 "Trivially relocatable" (2/3): explicit warrants for std library types.

Rebased on master.

Oct 29 2019, 2:28 PM · Restricted Project
Quuxplusone updated the diff for D61761: P1144 "Trivially relocatable" (1/3): is_trivially_relocatable, relocate_at, and uninitialized_relocate.

Rebased on master.

Oct 29 2019, 2:26 PM · Restricted Project

Oct 23 2019

Quuxplusone added a reviewer for D67524: P1144 "Trivially relocatable" (3/3): optimize std::vector reallocate/insert and std::swap for trivially relocatable types: EricWF.

I'm putting the benchmarks right here in this patch so that @EricWF can run them. (Zoe and I produced some good-looking benchmark numbers earlier tonight, with code similar to this code; but my build tree is too screwed up to reproduce them on demand.)

Oct 23 2019, 9:19 AM · Restricted Project

Oct 16 2019

Quuxplusone added inline comments to D47111: <experimental/memory_resource>: Implement monotonic_buffer_resource..
Oct 16 2019, 12:31 PM

Oct 15 2019

Quuxplusone added a comment to D67524: P1144 "Trivially relocatable" (3/3): optimize std::vector reallocate/insert and std::swap for trivially relocatable types.

@EricWF ping!

Oct 15 2019, 6:58 AM · Restricted Project

Oct 11 2019

Quuxplusone updated subscribers of D68845: Don't emit unwanted constructor calls in co_return statements.

One more test to add:

struct Widget {
    task<Widget> foo() && {
        co_return *this;  // IIUC this should call return_value(Widget&), not return_value(Widget&&)
    }
};
Oct 11 2019, 10:23 AM · Restricted Project

Oct 10 2019

Quuxplusone added a comment to D68845: Don't emit unwanted constructor calls in co_return statements.

Oh, and can you please make sure there are test cases for all the various cases covered in P1155? Specifically, I would expect all three of the following test cases to compile successfully. It looks like they compile successfully in trunk right now (Godbolt), so we're just testing that they don't get broken in the future.

Oct 10 2019, 9:56 PM · Restricted Project
Quuxplusone added inline comments to D68845: Don't emit unwanted constructor calls in co_return statements.
Oct 10 2019, 9:38 PM · Restricted Project

Oct 9 2019

Quuxplusone added inline comments to D51741: [coro]Pass rvalue reference for named local variable to return_value.
Oct 9 2019, 2:07 PM · Restricted Project
Quuxplusone added a comment to D51741: [coro]Pass rvalue reference for named local variable to return_value.

This change breaks the following code that worked before:

task<MoveOnly&> f(MoveOnly &value) {
  co_return value;
}
Oct 9 2019, 12:23 PM · Restricted Project
Quuxplusone added inline comments to D68681: [libc++][test] Miscellaneous MSVC cleanups.
Oct 9 2019, 10:27 AM · Restricted Project
Quuxplusone added inline comments to D68681: [libc++][test] Miscellaneous MSVC cleanups.
Oct 9 2019, 6:44 AM · Restricted Project

Oct 8 2019

Quuxplusone added a comment to D67524: P1144 "Trivially relocatable" (3/3): optimize std::vector reallocate/insert and std::swap for trivially relocatable types.

I'm putting the benchmarks right here in this patch so that @EricWF can run them. (Zoe and I produced some good-looking benchmark numbers earlier tonight, with code similar to this code; but my build tree is too screwed up to reproduce them on demand.)

Oct 8 2019, 9:57 AM · Restricted Project

Sep 28 2019

Quuxplusone added a comment to D68185: [Diagnostics] Warn when class implements a copy constructor/copy assignment operator, but missing the copy assignment operator/copy constructor.

Please add test cases showing the intended behavior for

  • when the copy constructor is explicitly defaulted but the copy assignment operator is {implicitly defaulted, implicitly deleted, user-provided}
  • when the copy assignment operator is explicitly defaulted but the copy constructor is {implicitly defaulted, implicitly deleted, user-provided}
  • when the {copy constructor, copy assignment operator} is user-provided but the other is implicitly deleted
Sep 28 2019, 1:37 PM · Restricted Project

Sep 22 2019

Quuxplusone added a comment to D67897: Fix __is_signed builtin.

But std::is_signed_v<float> needs to yield false.

It should yield true; the spec says "If is_­arithmetic_­v<T> is true, the same result as T(-1) < T(0); otherwise, false".

Sep 22 2019, 5:16 PM · Restricted Project
Quuxplusone added a comment to D67897: Fix __is_signed builtin.

But std::is_signed_v<float> needs to yield false. Isn't it cleaner to leave the compiler builtin matching the library type-trait, so that the library doesn't have to check for integral types separately?

Sep 22 2019, 4:49 PM · Restricted Project

Sep 21 2019

Quuxplusone updated the diff for D67524: P1144 "Trivially relocatable" (3/3): optimize std::vector reallocate/insert and std::swap for trivially relocatable types.

Fix a bug in my vector::insert; it wasn't exception-safe.

Sep 21 2019, 7:31 PM · Restricted Project

Sep 18 2019

Quuxplusone updated the diff for D67524: P1144 "Trivially relocatable" (3/3): optimize std::vector reallocate/insert and std::swap for trivially relocatable types.

Add a new benchmark, and add a TriviallyRelocatableType to the matrix in algorithms.bench.cpp.

Sep 18 2019, 8:55 PM · Restricted Project

Sep 13 2019

Quuxplusone updated the diff for D67524: P1144 "Trivially relocatable" (3/3): optimize std::vector reallocate/insert and std::swap for trivially relocatable types.

Address most of @zoecarver's review comments. (Haven't looked into _And yet.)
Since __libcpp_is_constant_evaluated() is usable, use it in std::swap. (This passes all the test cases for swap, including the constexpr ones! Hooray!)

Sep 13 2019, 4:27 PM · Restricted Project
Quuxplusone retitled D67524: P1144 "Trivially relocatable" (3/3): optimize std::vector reallocate/insert and std::swap for trivially relocatable types from P1144 "Trivially relocatable" (3/3): optimize std::vector for trivially relocatable types to P1144 "Trivially relocatable" (3/3): optimize std::vector and std::swap for trivially relocatable types.
Sep 13 2019, 4:27 PM · Restricted Project
Quuxplusone added a comment to D65043: [Format] Add C++20 standard to style options.

(For actual coroutine support, treating co_return and co_yield like return everywhere might make sense)

Sep 13 2019, 9:26 AM · Restricted Project

Sep 12 2019

Quuxplusone added inline comments to D67524: P1144 "Trivially relocatable" (3/3): optimize std::vector reallocate/insert and std::swap for trivially relocatable types.
Sep 12 2019, 7:32 PM · Restricted Project
Quuxplusone retitled D50119: P1144 "Trivially relocatable" (0/3): Compiler support for `__is_trivially_relocatable(T)` from Compiler support for P1144R0 "__is_trivially_relocatable(T)" to P1144 "Trivially relocatable" (0/3): Compiler support for `__is_trivially_relocatable(T)`.
Sep 12 2019, 3:03 PM · Restricted Project
Quuxplusone updated the summary of D63620: P1144 "Trivially relocatable" (2/3): explicit warrants for std library types.
Sep 12 2019, 2:53 PM · Restricted Project
Quuxplusone updated the summary of D61761: P1144 "Trivially relocatable" (1/3): is_trivially_relocatable, relocate_at, and uninitialized_relocate.
Sep 12 2019, 2:53 PM · Restricted Project
Quuxplusone updated the summary of D67524: P1144 "Trivially relocatable" (3/3): optimize std::vector reallocate/insert and std::swap for trivially relocatable types.
Sep 12 2019, 2:53 PM · Restricted Project
Quuxplusone created D67524: P1144 "Trivially relocatable" (3/3): optimize std::vector reallocate/insert and std::swap for trivially relocatable types.
Sep 12 2019, 2:53 PM · Restricted Project
Quuxplusone updated the diff for D63620: P1144 "Trivially relocatable" (2/3): explicit warrants for std library types.

Rebase on master/D61761, and finally implement conditionally trivial relocatability for stack, queue, and priority_queue.

Sep 12 2019, 2:32 PM · Restricted Project
Quuxplusone updated the diff for D61761: P1144 "Trivially relocatable" (1/3): is_trivially_relocatable, relocate_at, and uninitialized_relocate.

Rebased on master. (I don't think I've made any changes since last time.)

Sep 12 2019, 2:16 PM · Restricted Project

Sep 11 2019

Quuxplusone updated the diff for D47360: Implement <memory_resource> as a copy of <experimental/memory_resource>..

Oops, fix one last include of an ".hpp" support file which was recently renamed to ".h".

Sep 11 2019, 3:34 PM
Quuxplusone updated the diff for D47360: Implement <memory_resource> as a copy of <experimental/memory_resource>..

Rebased on master.

Sep 11 2019, 12:09 PM
Quuxplusone updated the diff for D47358: <experimental/memory_resource>: Implement {un,}synchronized_pool_resource..

Rebased on master.

Sep 11 2019, 12:03 PM
Quuxplusone updated the diff for D47111: <experimental/memory_resource>: Implement monotonic_buffer_resource..

Rebased on master.

Sep 11 2019, 12:02 PM
Quuxplusone added a comment to D65260: [libc++] Consolidate swap, swap_ranges, and iter_swap in <type_traits>. NFC..

I assume @ldionne _is_ an approver for libc++ at this point? And either way, I haven't got commit access, which is why I continue to ping Louis despite his earlier marking this patch as accepted.

Sep 11 2019, 10:17 AM
Quuxplusone updated the diff for D65260: [libc++] Consolidate swap, swap_ranges, and iter_swap in <type_traits>. NFC..

Rebased on master; the patch still applied cleanly. @ldionne ping?

Sep 11 2019, 9:13 AM

Sep 7 2019

Quuxplusone added a comment to D65260: [libc++] Consolidate swap, swap_ranges, and iter_swap in <type_traits>. NFC..

I guess this has been languishing. @ldionne, thoughts on maybe landing this patch?

Sep 7 2019, 11:11 AM

Aug 25 2019

Quuxplusone added inline comments to D66711: [clang] Warning for non-final classes with final destructors.
Aug 25 2019, 8:17 AM · Restricted Project, Restricted Project

Aug 22 2019

Quuxplusone added a comment to D66397: [Diagnostics] Improve -Wxor-used-as-pow.

@thakis wrote:

What was the motivation for firing on more than bare literals?

Aug 22 2019, 4:06 PM · Restricted Project

Aug 21 2019

Quuxplusone added a comment to D66397: [Diagnostics] Improve -Wxor-used-as-pow.

Swap trick is cool, we can suggest it always(vs. ‘xor’)

Aug 21 2019, 1:21 PM · Restricted Project

Aug 19 2019

Quuxplusone added a comment to D66397: [Diagnostics] Improve -Wxor-used-as-pow.

Now, Chromium disabled this warning :( until we “fix” it.

Aug 19 2019, 1:29 PM · Restricted Project

Aug 18 2019

Quuxplusone added a comment to D66384: [clang-format] Fix a bug that joins template closer and =.

LGTM too, although I would still question whether Style.SpaceBeforeAssignmentOperators is providing anyone any benefit at all.

Aug 18 2019, 7:21 AM · Restricted Project, Restricted Project
Quuxplusone added a comment to D66384: [clang-format] Fix a bug that joins template closer and =.
Aug 18 2019, 7:17 AM · Restricted Project, Restricted Project

Aug 16 2019

Quuxplusone added a comment to D66332: [clang-format] Fix the bug that joins template closer and > or >>.

Do you have SpaceBeforeAssignmentOperators off?

Aug 16 2019, 4:46 PM · Restricted Project
Quuxplusone added a comment to D66332: [clang-format] Fix the bug that joins template closer and > or >>.

Drive-by observation: My experiments with https://zed0.co.uk/clang-format-configurator/ show that there is a similar bug where clang-format accidentally produces >= via reformatting of template<enable_if_t<Foo, int> =0>, pi<int> =3;, and so on. Is it possible to fix that bug as part of this patch, and/or would you be interested in patching that bug as a follow-up to this one?

Aug 16 2019, 11:17 AM · Restricted Project

Aug 12 2019

Quuxplusone accepted D65225: [libc++] Implement CTAD for std::tuple.

LGTM.

Aug 12 2019, 11:23 AM · Restricted Project, Restricted Project

Aug 7 2019

Quuxplusone added a comment to D65043: [Format] Add C++20 standard to style options.

FWIW, looks unobjectionable to me, except for some nitpicks on the test cases (which are easy to fix so I'm hoping you just will :)).

Aug 7 2019, 10:37 AM · Restricted Project

Aug 5 2019

Quuxplusone added a comment to D65225: [libc++] Implement CTAD for std::tuple.

Looks plausible to me, but:

Aug 5 2019, 12:35 PM · Restricted Project, Restricted Project

Jul 26 2019

Quuxplusone added inline comments to D65043: [Format] Add C++20 standard to style options.
Jul 26 2019, 8:58 AM · Restricted Project

Jul 25 2019

Quuxplusone added a comment to D65260: [libc++] Consolidate swap, swap_ranges, and iter_swap in <type_traits>. NFC..

I really dislike the general organization (or rather, the lack thereof) in libc++. It's weird to be defining swap and swap_ranges inside <type_traits>, when swap_ranges should be part of <algorithm> and swap should be in <utility>.

Jul 25 2019, 9:22 AM

Jul 24 2019

Quuxplusone abandoned D64752: Implement deduction guides for std::function (P0433)..

Superseded by D54410, which has now been landed.

Jul 24 2019, 7:40 PM
Quuxplusone created D65260: [libc++] Consolidate swap, swap_ranges, and iter_swap in <type_traits>. NFC..
Jul 24 2019, 7:37 PM
Quuxplusone added inline comments to D65161: [libc++] Implement LWG 2510.
Jul 24 2019, 1:25 PM · Restricted Project, Restricted Project
Quuxplusone added a comment to D65043: [Format] Add C++20 standard to style options.

Clang actually defaults to c++14 since clang 6. (CompilerInvocation.cpp near CLANG_DEFAULT_STD_CXX)

Jul 24 2019, 10:49 AM · Restricted Project
Quuxplusone added a comment to D65043: [Format] Add C++20 standard to style options.

Peanut gallery says: A priori, I don't see any reason for clang-format's LanguageStandard options to diverge from Clang's own -std= options. It sounds like currently they're very different, and you're proposing to make them basically the same. I think that's a good thing.

Jul 24 2019, 7:06 AM · Restricted Project

Jul 21 2019

Quuxplusone added a comment to D64818: [libcxx] Construct path using a instance of std::locale.

Please re-upload the diff with full context (e.g. git diff -U999 blah blah).

Jul 21 2019, 9:39 PM

Jul 17 2019

Quuxplusone added a comment to D54410: [libc++] Add C++17 deduction guides for std::function.

LGTM modulo these last nitpicky comments.

Jul 17 2019, 1:23 PM · Restricted Project, Restricted Project
Quuxplusone added inline comments to D64818: [libcxx] Construct path using a instance of std::locale.
Jul 17 2019, 8:15 AM
Quuxplusone added inline comments to D54410: [libc++] Add C++17 deduction guides for std::function.
Jul 17 2019, 7:47 AM · Restricted Project, Restricted Project

Jul 15 2019

Quuxplusone added a comment to D54410: [libc++] Add C++17 deduction guides for std::function.

This patch looks like it's got much more complete unit tests than my D64752. I'd be happy to abandon that one. :)

Jul 15 2019, 1:18 PM · Restricted Project, Restricted Project
Quuxplusone updated the diff for D64752: Implement deduction guides for std::function (P0433)..

Add the other deduction guide from _Rp(*)(_ArgTypes...). (Uploaded an incomplete diff the first time.)

Jul 15 2019, 9:17 AM
Quuxplusone created D64752: Implement deduction guides for std::function (P0433)..
Jul 15 2019, 9:15 AM

Jul 13 2019

Quuxplusone updated the diff for D58590: Implement P0433: deduction guides for <unordered_map>.

Use _EnableIf and remove_const_t instead of enable_if and remove_const.
Whitespace diffs.
Preemptively add XFAILs on apple-clang, matching the XFAILs that were needed for unordered_set.

Jul 13 2019, 8:58 AM · Restricted Project

Jul 10 2019

Quuxplusone added a comment to D58617: Implement deduction guides for <unordered_set>.

@mclow.lists ping!

Jul 10 2019, 2:37 PM · Restricted Project

Jul 3 2019

Quuxplusone updated the diff for D58617: Implement deduction guides for <unordered_set>.

Updated to use _EnableIf per EricWF's refactoring of June 23.

Jul 3 2019, 6:37 PM · Restricted Project

Jul 1 2019

Quuxplusone added inline comments to D51262: Implement P0553 and P0556.
Jul 1 2019, 12:41 PM

Jun 24 2019

Quuxplusone added inline comments to D51262: Implement P0553 and P0556.
Jun 24 2019, 8:01 PM
Quuxplusone added inline comments to D51262: Implement P0553 and P0556.
Jun 24 2019, 7:14 PM

Jun 21 2019

Quuxplusone updated the diff for D63620: P1144 "Trivially relocatable" (2/3): explicit warrants for std library types.

Rebase on the latest version of D61761: Hide is_trivially_relocatable behind a __libcpp_ prefix.

Jun 21 2019, 2:49 PM · Restricted Project
Quuxplusone added inline comments to D62825: [C++2a] Add __builtin_bit_cast, used to implement std::bit_cast.
Jun 21 2019, 2:28 PM · Restricted Project, Restricted Project
Quuxplusone added inline comments to D63423: [Diagnostics] Diagnose misused xor as pow.
Jun 21 2019, 9:43 AM · Restricted Project, Restricted Project
Quuxplusone added inline comments to D63423: [Diagnostics] Diagnose misused xor as pow.
Jun 21 2019, 9:29 AM · Restricted Project, Restricted Project

Jun 20 2019

Quuxplusone added a comment to D61761: P1144 "Trivially relocatable" (1/3): is_trivially_relocatable, relocate_at, and uninitialized_relocate.

@ldionne I've adopted your request to hide all the new names behind __libcpp_.
I think I still need some guidance on how to structure the tests so that they pass with a D50119-enabled Clang and {either pass or are XFAILed} for other compilers.

Jun 20 2019, 4:25 PM · Restricted Project
Quuxplusone updated the diff for D61761: P1144 "Trivially relocatable" (1/3): is_trivially_relocatable, relocate_at, and uninitialized_relocate.
  • Hide all the P1144 names consistently behind a __libcpp_ prefix.
  • Add a unit test for __libcpp_relocate_at.
  • Use remove_all_extents in the fallback implementation of is_trivially_relocatable<T>, so that is_trivially_relocatable_v<int[10]> will be true. (is_trivially_relocatable_v<int[]> currently has UB according to P1144, because int[] is an incomplete type.)
Jun 20 2019, 4:21 PM · Restricted Project
Quuxplusone added a child revision for D61761: P1144 "Trivially relocatable" (1/3): is_trivially_relocatable, relocate_at, and uninitialized_relocate: D63620: P1144 "Trivially relocatable" (2/3): explicit warrants for std library types.
Jun 20 2019, 12:37 PM · Restricted Project
Quuxplusone added a parent revision for D63620: P1144 "Trivially relocatable" (2/3): explicit warrants for std library types: D61761: P1144 "Trivially relocatable" (1/3): is_trivially_relocatable, relocate_at, and uninitialized_relocate.
Jun 20 2019, 12:37 PM · Restricted Project
Quuxplusone created D63620: P1144 "Trivially relocatable" (2/3): explicit warrants for std library types.
Jun 20 2019, 12:37 PM · Restricted Project