Page MenuHomePhabricator

mwyman (Michael Wyman)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 12 2019, 9:40 AM (64 w, 3 d)

Recent Activity

Apr 10 2020

mwyman committed rG89f1321fe4ef: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that… (authored by mwyman).
[clang-tidy] Add check to find calls to NSInvocation methods under ARC that…
Apr 10 2020, 8:54 AM
mwyman closed D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes..
Apr 10 2020, 8:54 AM · Restricted Project, Restricted Project
mwyman updated the diff for D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes..

Added struct member reference from local variable, per review comment.

Apr 10 2020, 1:03 AM · Restricted Project, Restricted Project

Apr 9 2020

mwyman updated the diff for D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes..

Add check for isScalarType before getting the type, which seems to be triggering an assert. Maybe this is a Mac vs Linux thing?

Apr 9 2020, 11:35 AM · Restricted Project, Restricted Project
mwyman updated the diff for D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes..

Adding non-object types for argument to getArgument:atIndex: to verify they don't cause problems.

Apr 9 2020, 10:28 AM · Restricted Project, Restricted Project
mwyman added inline comments to D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes..
Apr 9 2020, 1:36 AM · Restricted Project, Restricted Project
mwyman updated the diff for D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes..

Add matching MemberRefExpr case, not just the non-matching case there was before.

Apr 9 2020, 1:36 AM · Restricted Project, Restricted Project
mwyman updated the diff for D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes..

Updating per Stephane's comments. To deal with struct fields needed to match MemberRefExprs.

Apr 9 2020, 1:36 AM · Restricted Project, Restricted Project

Apr 8 2020

mwyman committed rG3d4d25fb4d60: First test commit - empty (authored by mwyman).
First test commit - empty
Apr 8 2020, 11:57 AM
mwyman updated the diff for D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes..

Renamed NsinvocationArgumentLifetimeCheck -> NSInvocationArgumentLifetimeCheck to match other ObjC checker names.

Apr 8 2020, 10:51 AM · Restricted Project, Restricted Project

Apr 6 2020

mwyman updated the diff for D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes..

Missed CHECK-FIXES for block argument.

Apr 6 2020, 3:49 PM · Restricted Project, Restricted Project
mwyman updated the diff for D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes..

Trying to fix Harbormaster build.

Apr 6 2020, 3:48 PM · Restricted Project, Restricted Project
mwyman added inline comments to D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes..
Apr 6 2020, 1:37 PM · Restricted Project, Restricted Project
mwyman updated the diff for D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes..

Responding to review feedback.

Apr 6 2020, 1:37 PM · Restricted Project, Restricted Project
mwyman updated the diff for D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes..

Check for Objective-C block pointers as well, which also require __unsafe_unretained when retrieved as arguments from NSInvocation under ARC.

Apr 6 2020, 11:27 AM · Restricted Project, Restricted Project
mwyman updated the summary of D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes..
Apr 6 2020, 10:51 AM · Restricted Project, Restricted Project
mwyman added reviewers for D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes.: stephanemoore, benhamilton, dmaclach.
Apr 6 2020, 10:51 AM · Restricted Project, Restricted Project
mwyman created D77571: [clang-tidy] Add check to find calls to NSInvocation methods under ARC that don't have proper object argument lifetimes..
Apr 6 2020, 10:51 AM · Restricted Project, Restricted Project

Mar 11 2020

mwyman added inline comments to D75569: [clang-tidy] New check for methods marked __attribute__((unavailable)) that do not override a method from a superclass..
Mar 11 2020, 11:52 AM · Restricted Project, Restricted Project
mwyman updated the diff for D75569: [clang-tidy] New check for methods marked __attribute__((unavailable)) that do not override a method from a superclass..

After some discussion, have decided to remove the fix-it entirely and update the diagnostic message; removing the method altogether may not be the correct behavior, as previously deprecated methods that have since been removed may want to have an unavailable attribute attached with a message explaining what to use instead, even though they don't override a superclass method.

Mar 11 2020, 11:52 AM · Restricted Project, Restricted Project

Mar 6 2020

mwyman updated the diff for D75569: [clang-tidy] New check for methods marked __attribute__((unavailable)) that do not override a method from a superclass..

Update documentation to include description of the FixMacroNames config option.

Mar 6 2020, 10:28 AM · Restricted Project, Restricted Project

Mar 5 2020

mwyman added inline comments to D75569: [clang-tidy] New check for methods marked __attribute__((unavailable)) that do not override a method from a superclass..
Mar 5 2020, 11:30 PM · Restricted Project, Restricted Project
mwyman updated the diff for D75569: [clang-tidy] New check for methods marked __attribute__((unavailable)) that do not override a method from a superclass..

Updated per review feedback.

Mar 5 2020, 11:30 PM · Restricted Project, Restricted Project
mwyman updated the diff for D75569: [clang-tidy] New check for methods marked __attribute__((unavailable)) that do not override a method from a superclass..

Don't provide fix-it hints when the unavailable attribute is inside a macro, unless within a config-whitelisted macro.

Mar 5 2020, 2:49 PM · Restricted Project, Restricted Project
mwyman added a comment to D75569: [clang-tidy] New check for methods marked __attribute__((unavailable)) that do not override a method from a superclass..

I goofed on updating with Arcanist—the changes I marked done will be incoming shortly!

Mar 5 2020, 2:49 PM · Restricted Project, Restricted Project
mwyman added reviewers for D75569: [clang-tidy] New check for methods marked __attribute__((unavailable)) that do not override a method from a superclass.: stephanemoore, dmaclach.
Mar 5 2020, 2:49 PM · Restricted Project, Restricted Project
mwyman added inline comments to D75569: [clang-tidy] New check for methods marked __attribute__((unavailable)) that do not override a method from a superclass..
Mar 5 2020, 2:49 PM · Restricted Project, Restricted Project

Mar 4 2020

mwyman updated the diff for D75569: [clang-tidy] New check for methods marked __attribute__((unavailable)) that do not override a method from a superclass..

Updated documentation per review comments.

Mar 4 2020, 10:58 PM · Restricted Project, Restricted Project
mwyman updated the diff for D75569: [clang-tidy] New check for methods marked __attribute__((unavailable)) that do not override a method from a superclass..

Updated to explicitly check for attribute((unavailable)), to avoid flagging methods marked based on platform availability. Updated test file to validate this.

Mar 4 2020, 10:58 PM · Restricted Project, Restricted Project

Mar 3 2020

mwyman created D75569: [clang-tidy] New check for methods marked __attribute__((unavailable)) that do not override a method from a superclass..
Mar 3 2020, 3:00 PM · Restricted Project, Restricted Project

Feb 6 2020

mwyman added a comment to D72876: Create a clang-tidy check to warn when -dealloc is implemented inside an ObjC class category..

Updated based on feedback.

Feb 6 2020, 10:49 AM · Restricted Project, Restricted Project
mwyman updated the diff for D72876: Create a clang-tidy check to warn when -dealloc is implemented inside an ObjC class category..

Make check class final, based on feedback.`

Feb 6 2020, 10:49 AM · Restricted Project, Restricted Project

Feb 4 2020

mwyman updated the diff for D72876: Create a clang-tidy check to warn when -dealloc is implemented inside an ObjC class category..

Revert script-changed file.

Feb 4 2020, 10:30 AM · Restricted Project, Restricted Project

Jan 30 2020

mwyman added inline comments to D72876: Create a clang-tidy check to warn when -dealloc is implemented inside an ObjC class category..
Jan 30 2020, 1:42 PM · Restricted Project, Restricted Project
mwyman updated the diff for D72876: Create a clang-tidy check to warn when -dealloc is implemented inside an ObjC class category..

Implemented review feedback.

Jan 30 2020, 1:42 PM · Restricted Project, Restricted Project

Jan 27 2020

mwyman added a comment to D72876: Create a clang-tidy check to warn when -dealloc is implemented inside an ObjC class category..

Updated the diff based on review feedback.

Jan 27 2020, 4:27 PM · Restricted Project, Restricted Project
mwyman updated the diff for D72876: Create a clang-tidy check to warn when -dealloc is implemented inside an ObjC class category..

Addresses reviewer feedback.

Jan 27 2020, 4:24 PM · Restricted Project, Restricted Project

Jan 16 2020

mwyman updated the diff for D72876: Create a clang-tidy check to warn when -dealloc is implemented inside an ObjC class category..

Fixed missing end quote pointed out in review comment.

Jan 16 2020, 2:24 PM · Restricted Project, Restricted Project
mwyman created D72876: Create a clang-tidy check to warn when -dealloc is implemented inside an ObjC class category..
Jan 16 2020, 2:06 PM · Restricted Project, Restricted Project

Sep 30 2019

mwyman created D68251: [clang-tidy] Fix module registry name and description for Darwin clang-tidy module..
Sep 30 2019, 3:59 PM · Restricted Project, Restricted Project, Restricted Project

Sep 27 2019

mwyman updated the diff for D68148: [clang-tidy] Rename objc-avoid-spinlock check to darwin-avoid-spinlock.

Moved release note below list of new checks.

Sep 27 2019, 3:03 PM · Restricted Project, Restricted Project, Restricted Project
mwyman updated the summary of D68148: [clang-tidy] Rename objc-avoid-spinlock check to darwin-avoid-spinlock.
Sep 27 2019, 11:05 AM · Restricted Project, Restricted Project, Restricted Project
mwyman created D68148: [clang-tidy] Rename objc-avoid-spinlock check to darwin-avoid-spinlock.
Sep 27 2019, 11:05 AM · Restricted Project, Restricted Project, Restricted Project

Sep 26 2019

mwyman updated the diff for D68109: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage..

Tweaked release notes to match first sentence of documentation.

Sep 26 2019, 11:50 PM · Restricted Project, Restricted Project, Restricted Project
mwyman created D68109: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage..
Sep 26 2019, 5:04 PM · Restricted Project, Restricted Project, Restricted Project
mwyman added a comment to D67567: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage.

Sorry, I reverted it in r373032 because the test fails on Linux: http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/18323 . Could you please take a look? Thanks!

Sep 26 2019, 5:01 PM · Restricted Project, Restricted Project, Restricted Project
mwyman updated the diff for D67567: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage.

Addressed Stephane's review feedback.

Sep 26 2019, 3:36 PM · Restricted Project, Restricted Project, Restricted Project
mwyman added a comment to D67567: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage.

Sorry, could you rebase the patch to apply cleanly to master? Seems like someone else edited ReleaseNotes.rst in the meanwhile.

$ arc patch D67567
...
Checking patch clang-tools-extra/docs/ReleaseNotes.rst...
error: while searching for:
  Finds instances where variables with static storage are initialized
  dynamically in header files.
Sep 26 2019, 1:13 PM · Restricted Project, Restricted Project, Restricted Project
mwyman updated the diff for D67567: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage.

Rebased patch to apply to current master.

Sep 26 2019, 1:13 PM · Restricted Project, Restricted Project, Restricted Project
mwyman added a comment to D67567: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage.

Thanks! Do you need me to commit the patch for you?

Sep 26 2019, 10:15 AM · Restricted Project, Restricted Project, Restricted Project

Sep 18 2019

mwyman updated the diff for D67567: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage.

Addressed review comments.

Sep 18 2019, 2:24 PM · Restricted Project, Restricted Project, Restricted Project

Sep 16 2019

mwyman updated the diff for D67567: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage.

Migrated check to new darwin module.

Sep 16 2019, 10:31 AM · Restricted Project, Restricted Project, Restricted Project
mwyman added a comment to D67567: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage.
In D67567#1670264, @NoQ wrote:

FTR, we already have a similar Static Analyzer check, eg.:
https://github.com/llvm-mirror/clang/blob/release_80/test/Analysis/dispatch-once.m#L15
https://github.com/llvm-mirror/clang/blob/release_80/test/Analysis/dispatch-once.m#L26

Your check is a bit more aggressive but i don't see why didn't we do it that way in the first place :) Though you won't be able to warn on the heap example.

Sep 16 2019, 10:04 AM · Restricted Project, Restricted Project, Restricted Project

Sep 13 2019

mwyman added a comment to D67567: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage.
  1. Please split each check into separate review.
  2. Is dispatch_once_t OSX-specific thing? Should those checks be in osx module?
  1. I split the review.
  1. I don't see an osx module—am I somehow missing seeing it?

One can be added.

dispatch_once_t is something from libdispatchwhich is an Apple-created API, but is OSS and available outside Apple. It's also a C API, which is why I didn't feel objc was an appropriate module either. I'm open to a better home module for this check, it's just not clear to me where that might be.

No opinion on my question, just thought it should be asked,

Sep 13 2019, 3:47 PM · Restricted Project, Restricted Project, Restricted Project
mwyman created D67578: [clang-tidy] New check to warn when writing to a dispatch_once_t variable..
Sep 13 2019, 3:29 PM · Restricted Project, Restricted Project
mwyman added a comment to D67567: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage.
  1. Please split each check into separate review.
  2. Is dispatch_once_t OSX-specific thing? Should those checks be in osx module?
Sep 13 2019, 2:21 PM · Restricted Project, Restricted Project, Restricted Project
mwyman retitled D67567: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage from New ClangTidy checks to warn when storing dispatch_once_t in non-static, non-global storage to New ClangTidy check to warn when storing dispatch_once_t in non-static, non-global storage.
Sep 13 2019, 2:09 PM · Restricted Project, Restricted Project, Restricted Project
mwyman updated the diff for D67567: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage.

Moved the assignment check to a separate review.

Sep 13 2019, 2:07 PM · Restricted Project, Restricted Project, Restricted Project
mwyman created D67567: [clang-tidy] New check to warn when storing dispatch_once_t in non-static, non-global storage.
Sep 13 2019, 12:02 PM · Restricted Project, Restricted Project, Restricted Project

May 22 2019

mwyman updated the diff for D61350: [clang-tidy] New check calling out uses of +new in Objective-C code.

Syncing code with HEAD

May 22 2019, 2:47 PM · Restricted Project, Restricted Project

May 14 2019

mwyman updated the diff for D61350: [clang-tidy] New check calling out uses of +new in Objective-C code.

Bah, previous changes not caught in Git commit; switching back and forth between Git/Mercurial makes for some mix-ups, I guess.

May 14 2019, 12:49 AM · Restricted Project, Restricted Project

May 13 2019

mwyman updated the diff for D61350: [clang-tidy] New check calling out uses of +new in Objective-C code.

Added +new declaration for ProxyFoo.

May 13 2019, 3:38 PM · Restricted Project, Restricted Project
mwyman updated the diff for D61350: [clang-tidy] New check calling out uses of +new in Objective-C code.

Update for comments

May 13 2019, 3:09 PM · Restricted Project, Restricted Project

May 10 2019

mwyman accepted D61350: [clang-tidy] New check calling out uses of +new in Objective-C code.

I don't have commit access, so if somebody could submit them that would be wonderful!

May 10 2019, 1:31 PM · Restricted Project, Restricted Project
mwyman accepted D61769: [clang] Regenerate AST matcher docs 📖.
May 10 2019, 9:29 AM · Restricted Project, Restricted Project

May 8 2019

mwyman updated the diff for D61350: [clang-tidy] New check calling out uses of +new in Objective-C code.

Update for review comments.

May 8 2019, 11:16 AM · Restricted Project, Restricted Project
mwyman added inline comments to D61350: [clang-tidy] New check calling out uses of +new in Objective-C code.
May 8 2019, 11:16 AM · Restricted Project, Restricted Project

May 7 2019

mwyman updated the diff for D61350: [clang-tidy] New check calling out uses of +new in Objective-C code.

Update comments/doc based on feedback.

May 7 2019, 11:30 AM · Restricted Project, Restricted Project
mwyman added inline comments to D61350: [clang-tidy] New check calling out uses of +new in Objective-C code.
May 7 2019, 10:05 AM · Restricted Project, Restricted Project
mwyman updated the diff for D61350: [clang-tidy] New check calling out uses of +new in Objective-C code.

Updated to address code review comments.

May 7 2019, 10:03 AM · Restricted Project, Restricted Project

May 1 2019

mwyman updated the diff for D61350: [clang-tidy] New check calling out uses of +new in Objective-C code.

Updated per review comments.

May 1 2019, 5:47 PM · Restricted Project, Restricted Project
mwyman updated the diff for D61350: [clang-tidy] New check calling out uses of +new in Objective-C code.

Fixes per review comments.

May 1 2019, 4:45 PM · Restricted Project, Restricted Project

Apr 30 2019

mwyman created D61350: [clang-tidy] New check calling out uses of +new in Objective-C code.
Apr 30 2019, 3:33 PM · Restricted Project, Restricted Project

Apr 22 2019

mwyman accepted D60920: [ASTMatchers] Introduce Objective-C matchers `isClassMessage`, `isClassMethod`, and `isInstanceMethod`.

Thanks. I don't believe I have commit access, so I'll need someone to commit this to trunk.

Apr 22 2019, 10:28 AM · Restricted Project

Apr 19 2019

mwyman created D60920: [ASTMatchers] Introduce Objective-C matchers `isClassMessage`, `isClassMethod`, and `isInstanceMethod`.
Apr 19 2019, 1:57 PM · Restricted Project