Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline

pfultz2 (Paul Fultz II)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 4 2015, 11:26 AM (456 w, 3 d)

Recent Activity

Jan 11 2023

pfultz2 updated the diff for D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..

Merge from main.

Jan 11 2023, 5:48 PM · Restricted Project, Restricted Project
pfultz2 updated the diff for D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..

Improve null checking, use the correct type in the fixit, and updated the tests.

Jan 11 2023, 5:42 PM · Restricted Project, Restricted Project
pfultz2 added inline comments to D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..
Jan 11 2023, 5:18 PM · Restricted Project, Restricted Project

Jan 10 2023

pfultz2 added a comment to D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..

I would like to see this merged in. Is there anyone available to review or approve?

Jan 10 2023, 3:07 PM · Restricted Project, Restricted Project

Sep 13 2022

pfultz2 added a comment to D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..

@njames93 I fixed the review comments, can this be merged?

Sep 13 2022, 1:09 PM · Restricted Project, Restricted Project

Aug 29 2022

pfultz2 added a comment to D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..

All review comments have been addressed. I assume this can be merged now.

Aug 29 2022, 10:34 AM · Restricted Project, Restricted Project

Aug 26 2022

pfultz2 added a reviewer for D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer.: LegalizeAdulthood.
Aug 26 2022, 6:25 PM · Restricted Project, Restricted Project

Aug 25 2022

pfultz2 added a comment to D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..

So can this be merged now?

Aug 25 2022, 8:45 AM · Restricted Project, Restricted Project

Aug 23 2022

pfultz2 added a comment to D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..

Anymore feedback?

Aug 23 2022, 8:34 AM · Restricted Project, Restricted Project

Aug 22 2022

pfultz2 updated the diff for D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..

Updated to diagnose return statements as well.

Aug 22 2022, 3:28 PM · Restricted Project, Restricted Project

Aug 17 2022

pfultz2 added reviewers for D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer.: njames93, artem.tamazov.
Aug 17 2022, 8:06 PM · Restricted Project, Restricted Project
pfultz2 updated the diff for D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..
Aug 17 2022, 8:05 PM · Restricted Project, Restricted Project
pfultz2 updated the diff for D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..

Update review comments and added fixit hints.

Aug 17 2022, 8:02 PM · Restricted Project, Restricted Project

Aug 12 2022

pfultz2 added a comment to D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..

And for context, here is an actual bug this check would help find:

Aug 12 2022, 7:10 AM · Restricted Project, Restricted Project

Aug 11 2022

pfultz2 added a comment to D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..

What is the motivation for requiring these to be the arguments of call or construct expressions?

Aug 11 2022, 5:50 PM · Restricted Project, Restricted Project
pfultz2 added reviewers for D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer.: hokein, carlosgalvezp, MaskRay, mstorsjo, balazske.
Aug 11 2022, 8:29 AM · Restricted Project, Restricted Project
pfultz2 added a comment to D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..

Anymore feedback? Can this be merged now?

Aug 11 2022, 8:11 AM · Restricted Project, Restricted Project

Aug 10 2022

pfultz2 retitled D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer. from Add new clang-tidy check to find implicit conversions from enum to integer. to [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..
Aug 10 2022, 5:29 PM · Restricted Project, Restricted Project
pfultz2 updated the diff for D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..
Aug 10 2022, 3:56 PM · Restricted Project, Restricted Project

Aug 9 2022

pfultz2 added a reviewer for D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer.: yaxunl.
Aug 9 2022, 3:28 PM · Restricted Project, Restricted Project
pfultz2 updated the diff for D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..

Fix typo and merge from main.

Aug 9 2022, 3:25 PM · Restricted Project, Restricted Project

Jul 12 2022

pfultz2 requested review of D129570: [clang-tidy] Add new clang-tidy check to find implicit conversions from enum to integer..
Jul 12 2022, 9:00 AM · Restricted Project, Restricted Project

Dec 15 2021

pfultz2 added a comment to D46081: [analyzer] Expand conversion check to check more expressions for overflow and underflow.

Thanks for merging as I dont have commit access.

Dec 15 2021, 2:29 PM · Restricted Project

Jun 30 2020

pfultz2 added inline comments to D78655: [CUDA][HIP] Let lambda be host device by default.
Jun 30 2020, 6:28 PM · Restricted Project

Jun 26 2020

pfultz2 added a comment to D78655: [CUDA][HIP] Let lambda be host device by default.

What's the expected HD property of this template function clip?

Jun 26 2020, 10:55 AM · Restricted Project
pfultz2 added a comment to D78655: [CUDA][HIP] Let lambda be host device by default.

Now, back to the specifics of your example. I'm still not 100% sure I understand what the problem is. Can you boil down the use case to an example on godbolt?

Jun 26 2020, 9:17 AM · Restricted Project

Jun 22 2020

pfultz2 added a comment to D78655: [CUDA][HIP] Let lambda be host device by default.

Could you give an example to demonstrate current use and how it will break?

Jun 22 2020, 8:25 PM · Restricted Project
pfultz2 added inline comments to D78655: [CUDA][HIP] Let lambda be host device by default.
Jun 22 2020, 2:31 PM · Restricted Project

May 5 2020

pfultz2 added a comment to D78655: [CUDA][HIP] Let lambda be host device by default.

A slight variation on that, that might be better: lambdas with no lambda-capture are implicitly HD; lambdas with any lambda-capture (which must therefore have an enclosing function) inherit the enclosing function's HDness.

May 5 2020, 5:17 PM · Restricted Project

May 4 2020

pfultz2 added a comment to D78655: [CUDA][HIP] Let lambda be host device by default.

Is it possible to add a test like this?

May 4 2020, 9:37 AM · Restricted Project

May 1 2020

pfultz2 added a comment to D78655: [CUDA][HIP] Let lambda be host device by default.

It captures addresses as seen at the point in time on the processor which executed the constructor.

May 1 2020, 5:10 PM · Restricted Project

Apr 30 2020

pfultz2 added a comment to D78655: [CUDA][HIP] Let lambda be host device by default.

I.e. if I pass a mutable lambda by reference to the GPU kernel

Apr 30 2020, 1:26 PM · Restricted Project
pfultz2 added a comment to D78655: [CUDA][HIP] Let lambda be host device by default.

Not only the capture is an issue, like a regular function, lambda could also access non-local variables/functions.

Apr 30 2020, 10:41 AM · Restricted Project

Apr 29 2020

pfultz2 updated subscribers of D78655: [CUDA][HIP] Let lambda be host device by default.

says we capture host variable reference in a device lambda.

Apr 29 2020, 9:37 PM · Restricted Project

Apr 23 2020

pfultz2 added inline comments to D78655: [CUDA][HIP] Let lambda be host device by default.
Apr 23 2020, 7:34 PM · Restricted Project

Sep 20 2018

pfultz2 added a comment to D52281: [clang-tidy] Add modernize check to use std::invoke in generic code.

This needs a test when calling in a constexpr function. I believe std::invoke is not constepxr, so a function object call in a constexpr function should not suggest std::invoke.

Sep 20 2018, 5:52 AM · Restricted Project

May 14 2018

pfultz2 updated the diff for D46159: [clang-tidy] Add a flag to enable alpha checkers.

Rebased

May 14 2018, 4:14 PM
pfultz2 added a comment to D46159: [clang-tidy] Add a flag to enable alpha checkers.

Is someone able to merge in my changes?

May 14 2018, 8:23 AM

May 9 2018

pfultz2 updated the diff for D46159: [clang-tidy] Add a flag to enable alpha checkers.

Some changes based on feedback.

May 9 2018, 8:16 AM

May 4 2018

pfultz2 added a comment to D46159: [clang-tidy] Add a flag to enable alpha checkers.

In this sense bug reports against abandoned alpha checkers (which are, unfortunately, the majority) aren't very useful. In most cases it's just too easy to see how broken they are.

May 4 2018, 4:51 PM
pfultz2 updated the diff for D46159: [clang-tidy] Add a flag to enable alpha checkers.

Moved flag for alpha checks to the ClangTidyContext

May 4 2018, 11:20 AM
pfultz2 added a comment to D46159: [clang-tidy] Add a flag to enable alpha checkers.

There doesn't seem to be a simple way to remove it from the ClangTidyOptions class, as a lot more functions need to be changed to support that. I would prefer to leave it there for now, and we can refactor it later. Either way, the check can't be set from a config file.

May 4 2018, 10:50 AM

May 3 2018

pfultz2 updated the diff for D46159: [clang-tidy] Add a flag to enable alpha checkers.

Rename flag to AllowEnablingAnalyzerAlphaCheckers.

May 3 2018, 12:36 PM
pfultz2 added inline comments to D46159: [clang-tidy] Add a flag to enable alpha checkers.
May 3 2018, 12:35 PM
pfultz2 added a comment to D46159: [clang-tidy] Add a flag to enable alpha checkers.

When something is merged into Clang trunk, the expectation is that it will be production quality or will be worked on rapidly to get it to production quality, which is somewhat orthogonal to getting user feedback. I don't know that I have the full history of all of the alpha checks so my generalization may be inaccurate, but it seems like some of these checks were accepted as a WIP and the "progress" stopped for a long time with no one volunteering to remove the features from the analyzer.

May 3 2018, 9:32 AM
pfultz2 updated the diff for D46159: [clang-tidy] Add a flag to enable alpha checkers.

Rename flag to allow-enabling-alpha-checks and removed the option from the clang-tidy file.

May 3 2018, 9:14 AM
pfultz2 added a comment to D46159: [clang-tidy] Add a flag to enable alpha checkers.

I think the premise is a bit off the mark. It's not that these are not for the common user -- it's that they're simply not ready for users at all.

May 3 2018, 8:58 AM
pfultz2 added a comment to D46159: [clang-tidy] Add a flag to enable alpha checkers.

But still, could you explain the use case and why a local modification of clang-tidy is not an option?

May 3 2018, 8:07 AM
pfultz2 added inline comments to D46159: [clang-tidy] Add a flag to enable alpha checkers.
May 3 2018, 7:59 AM
pfultz2 added a comment to D46159: [clang-tidy] Add a flag to enable alpha checkers.

As Devin says (and as we discussed this with Anna Zaks) alpha checkers are still in development, so we don't want to expose them to the users, even very curious ones.

May 3 2018, 7:54 AM

May 2 2018

pfultz2 added a comment to D46159: [clang-tidy] Add a flag to enable alpha checkers.

Do you have some better choices?

May 2 2018, 11:23 AM
pfultz2 added a comment to D46159: [clang-tidy] Add a flag to enable alpha checkers.

Do you want the flag to be renamed?

May 2 2018, 9:13 AM

Apr 27 2018

pfultz2 added a comment to D46159: [clang-tidy] Add a flag to enable alpha checkers.

Am i understanding correctly that the new -enable-alpha-checks flag doesn't enable alpha checks, but it only allows enabling them with a separate command?

Apr 27 2018, 2:17 PM
pfultz2 added a comment to D46159: [clang-tidy] Add a flag to enable alpha checkers.

I'm curious about the use case for this, since I don't think it ever makes sense to run all the alpha checks at once. These checks are typically a work in progress (they're not finished yet) and often have false positives that haven't been fixed yet.

Apr 27 2018, 2:03 PM

Apr 26 2018

pfultz2 created D46159: [clang-tidy] Add a flag to enable alpha checkers.
Apr 26 2018, 5:15 PM
pfultz2 updated the diff for D46081: [analyzer] Expand conversion check to check more expressions for overflow and underflow.

So I ran this on clang/llvm code base and fixed some false positives.

Apr 26 2018, 2:41 PM · Restricted Project
pfultz2 added a comment to D46081: [analyzer] Expand conversion check to check more expressions for overflow and underflow.

So moving to core will require explicit casts in some of the tests, especially for things like: memcpy(a262.s1, input, -1). Or this could be moved to another section instead of core. In D45532 there is talk of adding a bugprone section. I think this would be good there.

Apr 26 2018, 8:29 AM · Restricted Project
pfultz2 added a comment to D46081: [analyzer] Expand conversion check to check more expressions for overflow and underflow.

Have you tried on any large codebases?

Apr 26 2018, 7:42 AM · Restricted Project
pfultz2 added inline comments to D46081: [analyzer] Expand conversion check to check more expressions for overflow and underflow.
Apr 26 2018, 7:01 AM · Restricted Project
pfultz2 added a comment to D46081: [analyzer] Expand conversion check to check more expressions for overflow and underflow.

While I understand extending the analyzer to cover more is a good approach, there is -Wconversion which seemingly covers this -- or at least the trivial case(?):

Apr 26 2018, 6:59 AM · Restricted Project

Apr 25 2018

pfultz2 abandoned D46066: [analyzer] Add checker for underflowing unsigned integers.

So I submitted my change to the ConversionChecker, instead.

Apr 25 2018, 2:05 PM · Restricted Project
pfultz2 created D46081: [analyzer] Expand conversion check to check more expressions for overflow and underflow.
Apr 25 2018, 2:01 PM · Restricted Project
pfultz2 added a comment to D46066: [analyzer] Add checker for underflowing unsigned integers.

Isn't this case already covered by conversion checker?

Apr 25 2018, 10:20 AM · Restricted Project
pfultz2 created D46066: [analyzer] Add checker for underflowing unsigned integers.
Apr 25 2018, 8:21 AM · Restricted Project

Apr 9 2018

pfultz2 added a comment to D38455: [clang-tidy] new cppcoreguidelines-narrowing-conversions check..

This seems like it would be nice to have in bugprone-* as well.

Apr 9 2018, 10:50 AM · Restricted Project

Apr 3 2018

pfultz2 updated the diff for D44231: [clang-tidy] Check for sizeof that call functions.

I have rebased.

Apr 3 2018, 7:54 AM · Restricted Project

Apr 2 2018

pfultz2 added a comment to D44231: [clang-tidy] Check for sizeof that call functions.

Is someone able to merge in my changes?

Apr 2 2018, 8:20 AM · Restricted Project

Mar 26 2018

pfultz2 added a comment to D44231: [clang-tidy] Check for sizeof that call functions.

Do you need someone to submit this for you?

Mar 26 2018, 10:40 AM · Restricted Project
pfultz2 added a comment to D44231: [clang-tidy] Check for sizeof that call functions.

So, I've added tests for class enums and bols.

Mar 26 2018, 7:47 AM · Restricted Project

Mar 23 2018

pfultz2 updated the diff for D44231: [clang-tidy] Check for sizeof that call functions.
Mar 23 2018, 2:01 PM · Restricted Project

Mar 16 2018

pfultz2 added a comment to D44231: [clang-tidy] Check for sizeof that call functions.

As this patch can catch some mistakes, I'm fine with checking it in. I agree that it is reasonable to write normal code like sizeof(func_call()) (not false positive), maybe set the option to false by default?

Mar 16 2018, 3:47 PM · Restricted Project
pfultz2 added a comment to D44231: [clang-tidy] Check for sizeof that call functions.

I have reworded the documentation. Hopefully it is clearer.

Mar 16 2018, 3:47 PM · Restricted Project
pfultz2 updated the diff for D44231: [clang-tidy] Check for sizeof that call functions.
Mar 16 2018, 3:44 PM · Restricted Project

Mar 15 2018

pfultz2 added a comment to D44231: [clang-tidy] Check for sizeof that call functions.

So I've updated the documentation on this. Are there any other updates needed for this to get it merged in?

Mar 15 2018, 8:20 AM · Restricted Project

Mar 9 2018

pfultz2 updated the diff for D44231: [clang-tidy] Check for sizeof that call functions.
Mar 9 2018, 1:22 PM · Restricted Project
pfultz2 added a comment to D44231: [clang-tidy] Check for sizeof that call functions.

I don't have a script for it. I've used "bear" with at least some of those projects because they use makefiles rather than cmake (https://github.com/rizsotto/Bear). I'm not tied to those projects specifically, either, so if you have a different corpus you'd prefer to use, that's fine. The important bit is testing it across a considerable amount of C code and C++ code to see whether this diagnostic is too chatty or not.

Mar 9 2018, 12:30 PM · Restricted Project
pfultz2 added a comment to D44231: [clang-tidy] Check for sizeof that call functions.

Again, that only works for C++ and not C.

Mar 9 2018, 8:15 AM · Restricted Project

Mar 8 2018

pfultz2 added a comment to D44231: [clang-tidy] Check for sizeof that call functions.

If the return type of foo() is changed, then the use for s1 will be automatically updated

Mar 8 2018, 2:38 PM · Restricted Project
pfultz2 added a comment to D44231: [clang-tidy] Check for sizeof that call functions.

Can you point to some real world code that would benefit from this check?

Mar 8 2018, 8:59 AM · Restricted Project
pfultz2 added a comment to D44241: [clang-tidy] Add a check for constructing non-trivial types without assigning to a variable.

How does this differ from misc-unused-raii?

Mar 8 2018, 7:48 AM · Restricted Project
pfultz2 added a comment to D44231: [clang-tidy] Check for sizeof that call functions.

Can you elaborate a bit more about this?

Mar 8 2018, 7:43 AM · Restricted Project

Mar 7 2018

pfultz2 created D44241: [clang-tidy] Add a check for constructing non-trivial types without assigning to a variable.
Mar 7 2018, 6:04 PM · Restricted Project
pfultz2 updated the diff for D44231: [clang-tidy] Check for sizeof that call functions.
Mar 7 2018, 3:17 PM · Restricted Project
pfultz2 updated the diff for D44231: [clang-tidy] Check for sizeof that call functions.
Mar 7 2018, 3:13 PM · Restricted Project
pfultz2 updated the diff for D44231: [clang-tidy] Check for sizeof that call functions.
Mar 7 2018, 3:12 PM · Restricted Project
pfultz2 created D44231: [clang-tidy] Check for sizeof that call functions.
Mar 7 2018, 3:10 PM · Restricted Project

Apr 6 2015

pfultz2 added a comment to D8309: Improve error reporting for SFINAE.

The difference is, the current diagnostics allow the user to figure out what
happened. This change does not -- there's no way to find out which 'f' caused
the problem, and how we got from 'f' to 'g'.

Apr 6 2015, 3:06 PM
pfultz2 added a comment to D8309: Improve error reporting for SFINAE.

gives the user no idea of how we got from a call to f into a call to g.

Apr 6 2015, 2:07 PM
pfultz2 updated the diff for D8309: Improve error reporting for SFINAE.

Added tests

Apr 6 2015, 1:37 PM

Mar 14 2015

pfultz2 added a reviewer for D8309: Improve error reporting for SFINAE: doug.gregor.
Mar 14 2015, 12:18 PM

Mar 12 2015

pfultz2 updated D8309: Improve error reporting for SFINAE.
Mar 12 2015, 4:23 PM
pfultz2 updated subscribers of D8309: Improve error reporting for SFINAE.
Mar 12 2015, 4:22 PM
pfultz2 retitled D8309: Improve error reporting for SFINAE from to Improve error reporting for SFINAE.
Mar 12 2015, 4:21 PM