Page MenuHomePhabricator

royjacobson (Roy Jacobson)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 21 2022, 7:34 AM (18 w, 1 d)

Recent Activity

Tue, Jun 21

royjacobson updated subscribers of D127593: [clang] Fix trivially copyable for copy constructor and copy assignment operator.

In general, there's still a handful of __has_trivial_* calls across Abseil's recent master branch absl/meta/type_traits.h.

Tue, Jun 21, 9:49 AM · Restricted Project, Restricted Project, Restricted Project

Mon, Jun 20

royjacobson added a comment to D127593: [clang] Fix trivially copyable for copy constructor and copy assignment operator.

You'd only see it when compiling with Clang against MSVC's <utility>, where std::pair has a deleted copy assignment op (something I approximated with the struct S above). https://godbolt.org/z/bbEqvosvP shows how the behavior changed in Clang trunk. (Interestingly, the behavior is different between MSVC and GCC, and Clang now changed from matching the MSVC behavior to matching the GCC one.)

Mon, Jun 20, 11:56 PM · Restricted Project, Restricted Project, Restricted Project
royjacobson added a comment to D127593: [clang] Fix trivially copyable for copy constructor and copy assignment operator.

Is it intended that a deleted copy assignment op as in struct S { void operator =(S &) = delete; }; (though, somewhat oddly, not in struct S { void operator =(S) = delete; };) is now marked as trivial?

I think that's the root cause why a build of PDFium with clang-cl against the MSVC standard library started to fail for me now, effectively complaining that __is_trivially_assignable(std::pair<int,int> &, std::pair<int,int> const &) is false (as expected) while __has_trivial_assign(std::pair<int,int>) is (unexpectedly) true.

Mon, Jun 20, 9:00 AM · Restricted Project, Restricted Project, Restricted Project

Sat, Jun 18

royjacobson committed rG21eb1af469c3: [Concepts] Implement overload resolution for destructors (P0848) (authored by royjacobson).
[Concepts] Implement overload resolution for destructors (P0848)
Sat, Jun 18, 2:31 PM · Restricted Project, Restricted Project
royjacobson closed D126194: [Concepts] Implement overload resolution for destructors (P0848).
Sat, Jun 18, 2:30 PM · Restricted Project, Restricted Project

Fri, Jun 17

royjacobson updated the diff for D126194: [Concepts] Implement overload resolution for destructors (P0848).

Fix the AST test on windows and rebase on HEAD.

Fri, Jun 17, 9:28 AM · Restricted Project, Restricted Project
royjacobson added inline comments to D126194: [Concepts] Implement overload resolution for destructors (P0848).
Fri, Jun 17, 1:06 AM · Restricted Project, Restricted Project
royjacobson committed rG5ea341d7c4f9: [clang] Fix trivially copyable for copy constructor and copy assignment operator (authored by Javier-varez).
[clang] Fix trivially copyable for copy constructor and copy assignment operator
Fri, Jun 17, 12:36 AM · Restricted Project, Restricted Project, Restricted Project
royjacobson closed D127593: [clang] Fix trivially copyable for copy constructor and copy assignment operator.
Fri, Jun 17, 12:36 AM · Restricted Project, Restricted Project, Restricted Project

Thu, Jun 16

royjacobson abandoned D127998: [CI test] D127593.
Thu, Jun 16, 3:33 PM · Restricted Project, Restricted Project, Restricted Project
royjacobson added a comment to D127593: [clang] Fix trivially copyable for copy constructor and copy assignment operator.

The OpenMP tests passed on D127998 (I think just randomly?). I'm going to commit this tomorrow morning so I can revert if needed.

Thu, Jun 16, 3:33 PM · Restricted Project, Restricted Project, Restricted Project
royjacobson added a comment to D127593: [clang] Fix trivially copyable for copy constructor and copy assignment operator.

I started to get those errors on D126194 as well, definitely annoying.

Thu, Jun 16, 1:41 PM · Restricted Project, Restricted Project, Restricted Project
royjacobson updated the diff for D127998: [CI test] D127593.

Try to manually enable back-compat

Thu, Jun 16, 1:38 PM · Restricted Project, Restricted Project, Restricted Project
royjacobson removed projects from D127998: [CI test] D127593: Restricted Project, Restricted Project, Restricted Project.
Thu, Jun 16, 11:59 AM · Restricted Project, Restricted Project, Restricted Project
royjacobson requested review of D127998: [CI test] D127593.
Thu, Jun 16, 11:58 AM · Restricted Project, Restricted Project, Restricted Project
royjacobson updated the diff for D126194: [Concepts] Implement overload resolution for destructors (P0848).

Update the PR to now handle triviality, which turned out to require a different approach.
On the bright side it is now easier to see how to implemenet the rest of P0848.

Thu, Jun 16, 11:53 AM · Restricted Project, Restricted Project

Wed, Jun 15

royjacobson added a comment to D127593: [clang] Fix trivially copyable for copy constructor and copy assignment operator.

The OMP failures are still there though, which is a touch concerning.

Wed, Jun 15, 2:10 PM · Restricted Project, Restricted Project, Restricted Project

Tue, Jun 14

royjacobson accepted D127593: [clang] Fix trivially copyable for copy constructor and copy assignment operator.

Thank you! LGTM. I see the CI still has those OpenMP failures - could you try to rebase on main to get it green?

Tue, Jun 14, 1:54 PM · Restricted Project, Restricted Project, Restricted Project

Mon, Jun 13

royjacobson added a comment to D127593: [clang] Fix trivially copyable for copy constructor and copy assignment operator.

I don't think the OpenMP tests are failing because of this PR, they are a bit flaky sometimes.

Mon, Jun 13, 1:16 PM · Restricted Project, Restricted Project, Restricted Project
royjacobson added a comment to D127593: [clang] Fix trivially copyable for copy constructor and copy assignment operator.

This is great, thanks for the changes! I added two follow-up inline comments.

Mon, Jun 13, 1:03 PM · Restricted Project, Restricted Project, Restricted Project

Sun, Jun 12

royjacobson requested changes to D127593: [clang] Fix trivially copyable for copy constructor and copy assignment operator.

Hi Javier, thank you for submitting this patch!

Sun, Jun 12, 12:05 PM · Restricted Project, Restricted Project, Restricted Project

Fri, Jun 10

royjacobson added inline comments to D127487: [Sema] Fix assertion failure when instantiating requires expression.
Fri, Jun 10, 7:57 AM · Restricted Project, Restricted Project

Mon, May 30

royjacobson planned changes to D126194: [Concepts] Implement overload resolution for destructors (P0848).
Mon, May 30, 4:21 AM · Restricted Project, Restricted Project

May 23 2022

royjacobson updated the summary of D126194: [Concepts] Implement overload resolution for destructors (P0848).
May 23 2022, 10:14 PM · Restricted Project, Restricted Project
royjacobson updated the diff for D126194: [Concepts] Implement overload resolution for destructors (P0848).

Update the approach to use an AST property, and enable this for all language variants (not just CPP20).

May 23 2022, 10:11 PM · Restricted Project, Restricted Project
royjacobson added inline comments to D126194: [Concepts] Implement overload resolution for destructors (P0848).
May 23 2022, 8:02 AM · Restricted Project, Restricted Project
royjacobson added a comment to D126194: [Concepts] Implement overload resolution for destructors (P0848).

How much of P0848 is missing after this? If nothing/not much, should we update cxx_status.html as well?

P0848 applies to all special member function. At best we could mark it partial but most of the work still need to be done.
I gave a shot to P0848 a few months ago, but my assesment is that clang might have to significantly refactor of special member functions to do that cleanly

May 23 2022, 7:49 AM · Restricted Project, Restricted Project
royjacobson updated the diff for D126194: [Concepts] Implement overload resolution for destructors (P0848).

Fix typo

May 23 2022, 4:49 AM · Restricted Project, Restricted Project
royjacobson updated the summary of D126194: [Concepts] Implement overload resolution for destructors (P0848).
May 23 2022, 4:42 AM · Restricted Project, Restricted Project
royjacobson requested review of D126194: [Concepts] Implement overload resolution for destructors (P0848).
May 23 2022, 4:41 AM · Restricted Project, Restricted Project

May 22 2022

royjacobson abandoned D126160: [Concepts] Add an error for unsupported P0848 (destructor overloading) code.

I continued hacking a bit at this and I think I got a working approach to implementing P0848 (down to 6 failing tests, will probably post at least a draft tomorrow). So I'll close for now. Maybe it's still useful for backporting if someone wants to. Sorry for all the mail spam from today...

May 22 2022, 2:54 PM · Restricted Project, Restricted Project
royjacobson updated the diff for D126160: [Concepts] Add an error for unsupported P0848 (destructor overloading) code.

Fix conventions

May 22 2022, 1:36 PM · Restricted Project, Restricted Project
royjacobson updated the diff for D126160: [Concepts] Add an error for unsupported P0848 (destructor overloading) code.

Move diagnostic into Sema, make it fire once for every class template definitions.

May 22 2022, 1:08 PM · Restricted Project, Restricted Project
royjacobson planned changes to D126160: [Concepts] Add an error for unsupported P0848 (destructor overloading) code.

I've thought about this a bit more and I want to move the diagnostic into SemaTemplateInstantiateDecl or somewhere close. It makes more sense because it's closer to where P0848 needs to be implemented and it will spam less errors.

May 22 2022, 8:42 AM · Restricted Project, Restricted Project
royjacobson updated the summary of D126160: [Concepts] Add an error for unsupported P0848 (destructor overloading) code.
May 22 2022, 4:57 AM · Restricted Project, Restricted Project
royjacobson updated the diff for D126160: [Concepts] Add an error for unsupported P0848 (destructor overloading) code.

A working version.

May 22 2022, 4:43 AM · Restricted Project, Restricted Project
royjacobson requested review of D126160: [Concepts] Add an error for unsupported P0848 (destructor overloading) code.
May 22 2022, 1:52 AM · Restricted Project, Restricted Project

May 16 2022

royjacobson accepted D125711: [concepts] Implement dcl.decl.general p4: No constraints on non-template funcs.

Code and added/modified tests LGTM!

May 16 2022, 1:23 PM · Restricted Project, Restricted Project

Apr 23 2022

royjacobson committed rG807e418413a0: [Concepts] Fix overload resolution bug with constrained candidates (authored by royjacobson).
[Concepts] Fix overload resolution bug with constrained candidates
Apr 23 2022, 2:25 PM · Restricted Project, Restricted Project
royjacobson closed D123182: [Concepts] Fix overload resolution bug with constrained candidates.
Apr 23 2022, 2:25 PM · Restricted Project, Restricted Project
royjacobson updated the diff for D123182: [Concepts] Fix overload resolution bug with constrained candidates.

Rebase after fix.

Apr 23 2022, 1:34 PM · Restricted Project, Restricted Project
royjacobson reopened D123182: [Concepts] Fix overload resolution bug with constrained candidates.
Apr 23 2022, 1:33 PM · Restricted Project, Restricted Project

Apr 20 2022

royjacobson accepted D124103: [libc++] Fixes concepts overload resolution..
Apr 20 2022, 10:04 AM · Restricted Project, Restricted Project
royjacobson added a comment to D124103: [libc++] Fixes concepts overload resolution..

Thank you for the quick fix!

Apr 20 2022, 10:04 AM · Restricted Project, Restricted Project

Apr 19 2022

royjacobson updated subscribers of D123182: [Concepts] Fix overload resolution bug with constrained candidates.

So, it seems like this broke one of basic_arg_format's private constructors.. Sorry for that.

Apr 19 2022, 4:51 AM · Restricted Project, Restricted Project
royjacobson added a reverting change for rG454d1df9423c: [Concepts] Fix overload resolution bug with constrained candidates: rG76410040b9f3: Revert "[Concepts] Fix overload resolution bug with constrained candidates".
Apr 19 2022, 4:51 AM · Restricted Project, Restricted Project
royjacobson committed rG76410040b9f3: Revert "[Concepts] Fix overload resolution bug with constrained candidates" (authored by royjacobson).
Revert "[Concepts] Fix overload resolution bug with constrained candidates"
Apr 19 2022, 4:51 AM · Restricted Project, Restricted Project
royjacobson added a reverting change for D123182: [Concepts] Fix overload resolution bug with constrained candidates: rG76410040b9f3: Revert "[Concepts] Fix overload resolution bug with constrained candidates".
Apr 19 2022, 4:51 AM · Restricted Project, Restricted Project
royjacobson committed rG454d1df9423c: [Concepts] Fix overload resolution bug with constrained candidates (authored by royjacobson).
[Concepts] Fix overload resolution bug with constrained candidates
Apr 19 2022, 1:45 AM · Restricted Project, Restricted Project
royjacobson closed D123182: [Concepts] Fix overload resolution bug with constrained candidates.
Apr 19 2022, 1:45 AM · Restricted Project, Restricted Project

Apr 16 2022

royjacobson added a comment to D123182: [Concepts] Fix overload resolution bug with constrained candidates.

Thanks @erichkeane! I will land this on Monday if there are no further comments and the CI looks good.

Apr 16 2022, 1:19 AM · Restricted Project, Restricted Project
royjacobson added a reviewer for D123182: [Concepts] Fix overload resolution bug with constrained candidates: Restricted Project.
Apr 16 2022, 1:18 AM · Restricted Project, Restricted Project
royjacobson updated the diff for D123182: [Concepts] Fix overload resolution bug with constrained candidates.

Rebase again (HEAD CI was broken)

Apr 16 2022, 1:15 AM · Restricted Project, Restricted Project

Apr 15 2022

royjacobson updated the diff for D123182: [Concepts] Fix overload resolution bug with constrained candidates.

Rebase

Apr 15 2022, 2:31 PM · Restricted Project, Restricted Project
royjacobson added inline comments to D123182: [Concepts] Fix overload resolution bug with constrained candidates.
Apr 15 2022, 8:59 AM · Restricted Project, Restricted Project
royjacobson updated the diff for D123182: [Concepts] Fix overload resolution bug with constrained candidates.

Split the 'can compare constraints' code into a static function.

Apr 15 2022, 8:59 AM · Restricted Project, Restricted Project
royjacobson added inline comments to D123182: [Concepts] Fix overload resolution bug with constrained candidates.
Apr 15 2022, 8:28 AM · Restricted Project, Restricted Project
royjacobson updated the diff for D123182: [Concepts] Fix overload resolution bug with constrained candidates.

Update for look inside FunctionParamTypesAreEqual to be index based and simpler.

Apr 15 2022, 8:25 AM · Restricted Project, Restricted Project

Apr 11 2022

royjacobson added inline comments to D123182: [Concepts] Fix overload resolution bug with constrained candidates.
Apr 11 2022, 2:02 PM · Restricted Project, Restricted Project
royjacobson updated the summary of D123182: [Concepts] Fix overload resolution bug with constrained candidates.
Apr 11 2022, 1:56 PM · Restricted Project, Restricted Project
royjacobson retitled D123182: [Concepts] Fix overload resolution bug with constrained candidates from [Concepts] Fix issue #53640 to [Concepts] Fix overload resolution bug with constrained candidates.
Apr 11 2022, 1:52 PM · Restricted Project, Restricted Project
royjacobson updated the diff for D123182: [Concepts] Fix overload resolution bug with constrained candidates.

Formatting + clarify docs a bit

Apr 11 2022, 1:51 PM · Restricted Project, Restricted Project

Apr 5 2022

royjacobson added reviewers for D123182: [Concepts] Fix overload resolution bug with constrained candidates: aaron.ballman, erichkeane, rsmith.
Apr 5 2022, 10:20 PM · Restricted Project, Restricted Project
royjacobson updated the diff for D123182: [Concepts] Fix overload resolution bug with constrained candidates.

Fixed missing doc for new argument

Apr 5 2022, 10:17 PM · Restricted Project, Restricted Project
royjacobson requested review of D123182: [Concepts] Fix overload resolution bug with constrained candidates.
Apr 5 2022, 10:13 PM · Restricted Project, Restricted Project

Mar 23 2022

royjacobson committed rG94fd00f41ebd: [Concepts] Fix placeholder constraints when references are involved (authored by royjacobson).
[Concepts] Fix placeholder constraints when references are involved
Mar 23 2022, 8:15 AM · Restricted Project
royjacobson closed D122083: [Concepts] Fix placeholder constraints when references are involved.
Mar 23 2022, 8:15 AM · Restricted Project, Restricted Project
royjacobson updated the diff for D122083: [Concepts] Fix placeholder constraints when references are involved.

Rebase

Mar 23 2022, 8:09 AM · Restricted Project, Restricted Project
royjacobson updated the diff for D122083: [Concepts] Fix placeholder constraints when references are involved.

Added release notes.

Mar 23 2022, 7:53 AM · Restricted Project, Restricted Project
royjacobson added a comment to D122083: [Concepts] Fix placeholder constraints when references are involved.

1 more test I'd like to see that doesn't seem covered (ref to ptr),

Added, good idea.

Mar 23 2022, 7:34 AM · Restricted Project, Restricted Project
royjacobson updated the diff for D122083: [Concepts] Fix placeholder constraints when references are involved.

Add test for auto**& combination

Mar 23 2022, 7:31 AM · Restricted Project, Restricted Project
royjacobson added a comment to D122083: [Concepts] Fix placeholder constraints when references are involved.

Can you add some tests for the OTHER forms of 'auto' as well? We have decltype(auto) and auto_type, and I want to make sure whatever we do with those 'looks right'.

Mar 23 2022, 6:55 AM · Restricted Project, Restricted Project
royjacobson updated the diff for D122083: [Concepts] Fix placeholder constraints when references are involved.

Remove the curly brackets from one line loop.

Mar 23 2022, 6:43 AM · Restricted Project, Restricted Project
royjacobson updated the summary of D122083: [Concepts] Fix placeholder constraints when references are involved.
Mar 23 2022, 4:29 AM · Restricted Project, Restricted Project

Mar 20 2022

royjacobson updated the summary of D122083: [Concepts] Fix placeholder constraints when references are involved.
Mar 20 2022, 3:18 PM · Restricted Project, Restricted Project
royjacobson updated the diff for D122083: [Concepts] Fix placeholder constraints when references are involved.

I noticed issue #53911 which is very similar so I fixed it as well.

Mar 20 2022, 3:15 PM · Restricted Project, Restricted Project

Mar 19 2022

royjacobson updated the summary of D122083: [Concepts] Fix placeholder constraints when references are involved.
Mar 19 2022, 2:26 PM · Restricted Project, Restricted Project
royjacobson requested review of D122083: [Concepts] Fix placeholder constraints when references are involved.
Mar 19 2022, 2:24 PM · Restricted Project, Restricted Project

Mar 18 2022

royjacobson added a comment to D121965: Add validation for number of arguments of __builtin_memcpy_inline.

Thx!

Mar 18 2022, 3:34 AM · Restricted Project, Restricted Project

Mar 17 2022

royjacobson added a reviewer for D121965: Add validation for number of arguments of __builtin_memcpy_inline: gchatelet.
Mar 17 2022, 3:23 PM · Restricted Project, Restricted Project
royjacobson requested review of D121965: Add validation for number of arguments of __builtin_memcpy_inline.
Mar 17 2022, 3:22 PM · Restricted Project, Restricted Project

Mar 15 2022

royjacobson added a comment to D121646: [Concepts] Fix an assertion failure while diagnosing constrained function candidates.

This seems acceptable to me. Though, I wonder if getTemplateArgumentBindingsText should produce the leading space, that way we could just pass the result of it directly, rather than have to create a SmallString everywhere. WDYT?

There are other places (outside SemaOverload) that use this function and don't need a space, though.
I thought about just putting the space in the diagnostic itself, but then sometimes you don't get template arguments and it fails.

I see. I was hoping that wasn't the case! OK, LGTM. Let me know if you need me to commit this for you.

Mar 15 2022, 12:52 PM · Restricted Project, Restricted Project

Mar 14 2022

royjacobson updated the diff for D121646: [Concepts] Fix an assertion failure while diagnosing constrained function candidates.
Mar 14 2022, 3:38 PM · Restricted Project, Restricted Project
royjacobson added a comment to D121646: [Concepts] Fix an assertion failure while diagnosing constrained function candidates.

This seems acceptable to me. Though, I wonder if getTemplateArgumentBindingsText should produce the leading space, that way we could just pass the result of it directly, rather than have to create a SmallString everywhere. WDYT?

Mar 14 2022, 3:37 PM · Restricted Project, Restricted Project
royjacobson requested review of D121646: [Concepts] Fix an assertion failure while diagnosing constrained function candidates.
Mar 14 2022, 3:17 PM · Restricted Project, Restricted Project

Mar 3 2022

royjacobson added a comment to D120255: [Concepts] Check constraints for explicit template instantiations.

Do you have push rights, or do you need someone to push for you? If you need someone to push for you, please post the name and email address you'd like the commit under.

Mar 3 2022, 6:11 AM · Restricted Project, Restricted Project

Mar 2 2022

royjacobson updated the diff for D120255: [Concepts] Check constraints for explicit template instantiations.

Thanks for the quick feedback :)

Mar 2 2022, 3:34 PM · Restricted Project, Restricted Project
royjacobson added inline comments to D120255: [Concepts] Check constraints for explicit template instantiations.
Mar 2 2022, 11:58 AM · Restricted Project, Restricted Project

Mar 1 2022

royjacobson updated the diff for D120255: [Concepts] Check constraints for explicit template instantiations.

Slightly update the test command line (add -triple %itanium_abi_triple like in other similar tests).

Mar 1 2022, 2:48 PM · Restricted Project, Restricted Project
royjacobson added a comment to D120255: [Concepts] Check constraints for explicit template instantiations.

Hmm... doing FileCheck in a Sema test is highly irregular. I would expect us to be able to test this in the type system in some way. Something like A<3>::f() is invalid (see -verify).

Also, please add all the context (as requested above!) with the -U9999 stuff.

Mar 1 2022, 2:43 PM · Restricted Project, Restricted Project
royjacobson updated the diff for D120255: [Concepts] Check constraints for explicit template instantiations.

Adding context.
(Sorry - didn't realize you were speaking about the diff itself, thought you meant adding general context to the PR message...)

Mar 1 2022, 2:24 PM · Restricted Project, Restricted Project
royjacobson updated the diff for D120255: [Concepts] Check constraints for explicit template instantiations.

Updated test so it checks actual instantiation and update the description.

Mar 1 2022, 1:52 PM · Restricted Project, Restricted Project

Feb 21 2022

royjacobson requested review of D120255: [Concepts] Check constraints for explicit template instantiations.
Feb 21 2022, 8:43 AM · Restricted Project, Restricted Project