Page MenuHomePhabricator

mgehre (Matthias Gehre)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 28 2015, 1:40 PM (198 w, 3 d)

Recent Activity

Tue, Jul 16

mgehre committed rGffca322266fc: [clang-tidy] initial version of readability-convert-member-functions-to-static (authored by mgehre).
[clang-tidy] initial version of readability-convert-member-functions-to-static
Tue, Jul 16, 2:21 PM
mgehre committed rL366265: [clang-tidy] initial version of readability-convert-member-functions-to-static.
[clang-tidy] initial version of readability-convert-member-functions-to-static
Tue, Jul 16, 2:20 PM
mgehre closed D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static.
Tue, Jul 16, 2:20 PM · Restricted Project, Restricted Project, Restricted Project
mgehre added a comment to D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static.

Thank you for the review, Aaron!

Tue, Jul 16, 2:20 PM · Restricted Project, Restricted Project, Restricted Project

Sun, Jul 14

mgehre added inline comments to D63954: Add lifetime categories attributes.
Sun, Jul 14, 3:31 PM · Restricted Project
mgehre updated the diff for D63954: Add lifetime categories attributes.
  • Don't crash when pretty-printing an Attribute with optional type argument
  • Don't crash AST dump when Owner/Pointer has no Type argument
  • gsl::Owner/gsl::Pointer: Make DerefType parameter optional
  • Unify type and non-type attribute parsing; don't add OwnerAttr/PointerAttr twice
  • Improve documentation
Sun, Jul 14, 3:31 PM · Restricted Project

Thu, Jul 11

mgehre added a comment to D64448: gsl::Owner/gsl::Pointer: Add implicit annotations for some std types.

I don't know how various versions of libstdc++ differ.

The current implementation passed the (partial) test case
https://github.com/mgehre/llvm-project/blob/lifetime-ci/lifetime-attr-test.cpp
for different standard libraries, namely libc++ 7.1.0, libc++ 8.0.1rc2, libstdc++ 4.6.4, libstdc++ 4.8.5,
libstdc++ 4.9.4, libstdc++ 5.4.0, libstdc++ 6.5.0, libstdc++ 7.3.0,
libstdc++ 8.3.0 and libstdc++ 9.1.0.

Yes, I saw the testcase -- but how do different libstdc++ versions differ?

I didn't know whether they would differ, but the test tells me that they don't differ significantly (i.e. in introducing new techniques).
Would you like me to test with other standard libraries (besides MSVC, which I already planned)?

Thu, Jul 11, 4:10 PM · Restricted Project
mgehre updated the diff for D64448: gsl::Owner/gsl::Pointer: Add implicit annotations for some std types.
  • Implement comments
Thu, Jul 11, 4:09 PM · Restricted Project
mgehre added a comment to D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static.

This should address all remaining comments.

Thu, Jul 11, 3:46 PM · Restricted Project, Restricted Project, Restricted Project
mgehre updated the diff for D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static.

Implement comments

Thu, Jul 11, 3:46 PM · Restricted Project, Restricted Project, Restricted Project
mgehre retitled D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static from [clang-tidy] initial version of readability-const-method to [clang-tidy] initial version of readability-convert-member-functions-to-static.
Thu, Jul 11, 3:26 PM · Restricted Project, Restricted Project, Restricted Project
mgehre added a comment to D64448: gsl::Owner/gsl::Pointer: Add implicit annotations for some std types.

For example, libc++ wraps everything in std in an inline namespace.

I believed that I had written a test for inline namespaces, but seems that I shouldn't be working in the middle of the night.
I will add one.

Thu, Jul 11, 3:26 PM · Restricted Project

Tue, Jul 9

mgehre added a parent revision for D64448: gsl::Owner/gsl::Pointer: Add implicit annotations for some std types: D63954: Add lifetime categories attributes.
Tue, Jul 9, 2:34 PM · Restricted Project
mgehre added a child revision for D63954: Add lifetime categories attributes: D64448: gsl::Owner/gsl::Pointer: Add implicit annotations for some std types.
Tue, Jul 9, 2:34 PM · Restricted Project
mgehre created D64448: gsl::Owner/gsl::Pointer: Add implicit annotations for some std types.
Tue, Jul 9, 2:33 PM · Restricted Project
mgehre retitled D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static from [clang-tidy] initial version of readability-static-const-method to [clang-tidy] initial version of readability-const-method.
Tue, Jul 9, 12:50 PM · Restricted Project, Restricted Project, Restricted Project
mgehre updated the diff for D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static.

Move checks into AST matchers

Tue, Jul 9, 12:49 PM · Restricted Project, Restricted Project, Restricted Project

Mon, Jul 8

mgehre added inline comments to D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static.
Mon, Jul 8, 2:18 PM · Restricted Project, Restricted Project, Restricted Project
mgehre updated the diff for D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static.
  • Address review comments
Mon, Jul 8, 2:17 PM · Restricted Project, Restricted Project, Restricted Project

Tue, Jul 2

mgehre added a comment to D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static.

Friendly ping. Are there outstanding concerns that I could address?

Tue, Jul 2, 1:08 PM · Restricted Project, Restricted Project, Restricted Project
mgehre updated the diff for D63954: Add lifetime categories attributes.
  • Make the list of attribute properties more consistent.
Tue, Jul 2, 1:08 PM · Restricted Project

Mon, Jul 1

mgehre updated the diff for D63954: Add lifetime categories attributes.
  • Add newline at end of file
Mon, Jul 1, 1:43 PM · Restricted Project
mgehre added a comment to D63954: Add lifetime categories attributes.

I understand that putting types on forward declared header (standard libraries / third party libraries) is not a approach we should favor.
Thank you for your good arguments.
API notes seems like a really good approach for this (I would like to help with the upstreaming), and in the meanwhile
I will work on hard-coding attributes for standard library types in clang for a follow-up PR. I think we could have them always attached (I will measure performance),
so that -Wlifetime will not change the AST.

Mon, Jul 1, 1:19 PM · Restricted Project
mgehre updated the diff for D63954: Add lifetime categories attributes.
  • Address more review comments.
  • git-clang-format
Mon, Jul 1, 11:26 AM · Restricted Project

Sun, Jun 30

mgehre added inline comments to D63954: Add lifetime categories attributes.
Sun, Jun 30, 2:25 PM · Restricted Project
mgehre updated the summary of D63954: Add lifetime categories attributes.
Sun, Jun 30, 2:21 PM · Restricted Project
mgehre updated the diff for D63954: Add lifetime categories attributes.

Address some review comments.

Sun, Jun 30, 2:20 PM · Restricted Project
mgehre added a comment to D63954: Add lifetime categories attributes.

We can and should explore both options and see what works best.

Sun, Jun 30, 2:11 PM · Restricted Project

Fri, Jun 28

mgehre added a comment to D63954: Add lifetime categories attributes.

We can try to add the annotations to libcxx (which will still take time),
but there are also other standard libraries (libstdc++, MSVC) that
can be used with clang.
Eventually everybody will have lifetime annotations (of course ;-) ),
but in the meantime there seems to be no other way to enable
the analysis on unmodified STL.

Fri, Jun 28, 2:40 PM · Restricted Project
mgehre updated the diff for D63954: Add lifetime categories attributes.

Fix typo

Fri, Jun 28, 1:35 PM · Restricted Project
mgehre added a reviewer for D63954: Add lifetime categories attributes: aaron.ballman.
Fri, Jun 28, 1:28 PM · Restricted Project
mgehre created D63954: Add lifetime categories attributes.
Fri, Jun 28, 1:25 PM · Restricted Project

Fri, Jun 21

mgehre committed rL364106: [clang-tidy] misc-unused-parameters: don't comment out parameter name for C code.
[clang-tidy] misc-unused-parameters: don't comment out parameter name for C code
Fri, Jun 21, 2:56 PM
mgehre committed rGeeb3f99d23c2: [clang-tidy] misc-unused-parameters: don't comment out parameter name for C code (authored by mgehre).
[clang-tidy] misc-unused-parameters: don't comment out parameter name for C code
Fri, Jun 21, 2:33 PM
mgehre closed D63088: [clang-tidy] misc-unused-parameters: don't comment out parameter name for C code.
Fri, Jun 21, 2:30 PM · Restricted Project, Restricted Project

Jun 16 2019

mgehre added inline comments to D63088: [clang-tidy] misc-unused-parameters: don't comment out parameter name for C code.
Jun 16 2019, 12:46 PM · Restricted Project, Restricted Project
mgehre added inline comments to D63088: [clang-tidy] misc-unused-parameters: don't comment out parameter name for C code.
Jun 16 2019, 12:46 PM · Restricted Project, Restricted Project

Jun 10 2019

mgehre committed rG7103f4ee6387: WIP lifetime categories (authored by mgehre).
WIP lifetime categories
Jun 10 2019, 2:31 PM
mgehre updated the diff for D63088: [clang-tidy] misc-unused-parameters: don't comment out parameter name for C code.

Fix rewrapped comment

Jun 10 2019, 12:17 PM · Restricted Project, Restricted Project
mgehre created D63088: [clang-tidy] misc-unused-parameters: don't comment out parameter name for C code.
Jun 10 2019, 12:16 PM · Restricted Project, Restricted Project
mgehre added a comment to D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static.

Ping

Jun 10 2019, 11:53 AM · Restricted Project, Restricted Project, Restricted Project

May 23 2019

mgehre committed rGb087129b5d3b: [clang-tidy] Add option "LiteralInitializers" to cppcoreguidelines-pro-type… (authored by mgehre).
[clang-tidy] Add option "LiteralInitializers" to cppcoreguidelines-pro-type…
May 23 2019, 10:48 PM
mgehre committed rCTE361601: [clang-tidy] Add option "LiteralInitializers" to cppcoreguidelines-pro-type….
[clang-tidy] Add option "LiteralInitializers" to cppcoreguidelines-pro-type…
May 23 2019, 10:48 PM
mgehre committed rL361601: [clang-tidy] Add option "LiteralInitializers" to cppcoreguidelines-pro-type….
[clang-tidy] Add option "LiteralInitializers" to cppcoreguidelines-pro-type…
May 23 2019, 10:48 PM
mgehre closed D24892: [clang-tidy] Add option "LiteralInitializers" to cppcoreguidelines-pro-type-member-init.
May 23 2019, 10:48 PM · Restricted Project, Restricted Project

May 14 2019

mgehre committed rCTE360698: [clang-tidy] Fix invalid fixit for readability-static-accessed-through-instance….
[clang-tidy] Fix invalid fixit for readability-static-accessed-through-instance…
May 14 2019, 11:22 AM
mgehre committed rG094584cd522b: [clang-tidy] Fix invalid fixit for readability-static-accessed-through-instance… (authored by mgehre).
[clang-tidy] Fix invalid fixit for readability-static-accessed-through-instance…
May 14 2019, 11:21 AM
mgehre committed rL360698: [clang-tidy] Fix invalid fixit for readability-static-accessed-through-instance….
[clang-tidy] Fix invalid fixit for readability-static-accessed-through-instance…
May 14 2019, 11:21 AM
mgehre closed D61874: [clang-tidy] Fix invalid fixit for readability-static-accessed-through-instance (bug 40544).
May 14 2019, 11:21 AM · Restricted Project, Restricted Project, Restricted Project

May 13 2019

mgehre created D61874: [clang-tidy] Fix invalid fixit for readability-static-accessed-through-instance (bug 40544).
May 13 2019, 2:44 PM · Restricted Project, Restricted Project, Restricted Project
mgehre updated the diff for D24892: [clang-tidy] Add option "LiteralInitializers" to cppcoreguidelines-pro-type-member-init.

Fix wrong merge of ReleaseNotes

May 13 2019, 2:38 PM · Restricted Project, Restricted Project
mgehre updated the diff for D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static.

Remove `const` part from this PR. Address comments.

May 13 2019, 2:33 PM · Restricted Project, Restricted Project, Restricted Project
mgehre added inline comments to D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static.
May 13 2019, 2:33 PM · Restricted Project, Restricted Project, Restricted Project
mgehre abandoned D22476: [AST] Make MemberExpr non-dependent according to core issue 224.
May 13 2019, 12:37 PM
mgehre added a comment to D24892: [clang-tidy] Add option "LiteralInitializers" to cppcoreguidelines-pro-type-member-init.

Do I wait for @alexfh to turn his red into a green, too?

May 13 2019, 12:37 PM · Restricted Project, Restricted Project
mgehre requested changes to D43745: Fix cppcoreguidelines-pro-bounds-pointer-arithmetic not working for functions with auto return specifier..
May 13 2019, 12:26 PM · Restricted Project, Restricted Project
mgehre committed rG5f9afe953dea: [clang-tidy] readability-redundant-declaration: fix false positive with C… (authored by mgehre).
[clang-tidy] readability-redundant-declaration: fix false positive with C…
May 13 2019, 12:20 PM
mgehre committed rL360613: [clang-tidy] readability-redundant-declaration: fix false positive with C….
[clang-tidy] readability-redundant-declaration: fix false positive with C…
May 13 2019, 12:19 PM
mgehre committed rCTE360613: [clang-tidy] readability-redundant-declaration: fix false positive with C….
[clang-tidy] readability-redundant-declaration: fix false positive with C…
May 13 2019, 12:19 PM
mgehre closed D61700: [clang-tidy] readability-redundant-declaration: fix false positive with C "extern inline".
May 13 2019, 12:19 PM · Restricted Project, Restricted Project

May 12 2019

mgehre added inline comments to D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static.
May 12 2019, 11:21 PM · Restricted Project, Restricted Project, Restricted Project

May 10 2019

mgehre added a comment to D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static.

I have thought about splitting the check into separate static & const, but kept it together because
the analysis for both cases is very similar, i.e. finding the usage of this.

May 10 2019, 1:39 PM · Restricted Project, Restricted Project, Restricted Project

May 9 2019

mgehre added a reviewer for D61700: [clang-tidy] readability-redundant-declaration: fix false positive with C "extern inline": aaron.ballman.
May 9 2019, 12:19 PM · Restricted Project, Restricted Project
mgehre created D61749: [clang-tidy] initial version of readability-convert-member-functions-to-static.
May 9 2019, 12:06 PM · Restricted Project, Restricted Project, Restricted Project

May 8 2019

mgehre created D61700: [clang-tidy] readability-redundant-declaration: fix false positive with C "extern inline".
May 8 2019, 2:09 PM · Restricted Project, Restricted Project
mgehre updated the diff for D24892: [clang-tidy] Add option "LiteralInitializers" to cppcoreguidelines-pro-type-member-init.

Implement review comments

May 8 2019, 1:24 PM · Restricted Project, Restricted Project
mgehre added a comment to D18914: [clang-tidy] new readability-redundant-inline.

Thank you for the review input! After learning about inlinehint, I don't feel its worthwhile for me to continue this check.

May 8 2019, 12:01 PM
mgehre abandoned D18914: [clang-tidy] new readability-redundant-inline.
May 8 2019, 12:01 PM

Jul 27 2018

mgehre resigned from D31130: B32239 clang-tidy should not warn about array to pointer decay on system macros.
Jul 27 2018, 12:18 PM
mgehre added a comment to D43745: Fix cppcoreguidelines-pro-bounds-pointer-arithmetic not working for functions with auto return specifier..

Does it also work with lambdas (being implicitly auto) that return pointers? A test case for that would be nice.

Jul 27 2018, 12:12 PM · Restricted Project, Restricted Project

Nov 10 2017

mgehre added a comment to D39815: [clang-tidy] Improve the commented out variable in UnusedParametersCheck.

I would be against make this the default. Maybe provide it as an option?

Nov 10 2017, 1:07 PM · Restricted Project

Jul 20 2017

mgehre updated the diff for D24892: [clang-tidy] Add option "LiteralInitializers" to cppcoreguidelines-pro-type-member-init.

Implemented all review comments
Use global settings "UseAssignment"

Jul 20 2017, 10:43 PM · Restricted Project, Restricted Project

Jul 12 2017

mgehre committed rL307759: CFG: Add CFGElement for automatic variables that leave the scope.
CFG: Add CFGElement for automatic variables that leave the scope
Jul 12 2017, 12:05 AM
mgehre closed D15031: CFG: Add CFGElement for automatic variables that leave the scope by committing rL307759: CFG: Add CFGElement for automatic variables that leave the scope.
Jul 12 2017, 12:04 AM

Jun 23 2017

mgehre added a comment to D16403: Add scope information to CFG.

Please consider also https://reviews.llvm.org/D15031
It already handles all possible control flows. Instead of ScopeBegin and ScopeEnd,
it introduces LifetimeEnds elements. It's a more specific in that is also
correctly models the order of lifetime expiry of variables and the order
or destructor calls / lifetime ending.

Jun 23 2017, 6:25 AM · Restricted Project

Jun 2 2017

mgehre added a comment to D33841: [clang-tidy] redundant 'extern' keyword check.

Please have a look at the discussion in https://reviews.llvm.org/D18914 (which is for a similar check)
It turns out that an inline specifier which is redundant for deciding linkage is still
used to drive the inliner. Basically, the inliner will consider larger function bodies for inlining
if the have an explicit inline specifier.

Jun 2 2017, 10:49 AM · Restricted Project

Apr 19 2017

mgehre added inline comments to D32222: [clang-tidy] Add misc-for-loop-iterator-invalidation check..
Apr 19 2017, 12:06 PM · Restricted Project
mgehre added a comment to D32222: [clang-tidy] Add misc-for-loop-iterator-invalidation check..

Did you run this check over the llvm/clang code base?

Apr 19 2017, 11:59 AM · Restricted Project

Apr 12 2017

mgehre added inline comments to D31887: [clangd] Add documentation page.
Apr 12 2017, 3:11 PM · Restricted Project

Apr 4 2017

mgehre committed rL299465: [clang-format] fix crash in NamespaceEndCommentsFixer (PR32438).
[clang-format] fix crash in NamespaceEndCommentsFixer (PR32438)
Apr 4 2017, 1:23 PM
mgehre closed D31441: [clang-format] fix crash in NamespaceEndCommentsFixer (PR32438) by committing rL299465: [clang-format] fix crash in NamespaceEndCommentsFixer (PR32438).
Apr 4 2017, 1:23 PM

Mar 30 2017

mgehre updated the diff for D31308: [clang-tidy] new check readability-no-alternative-tokens.

only check C++ code; only match operators that can have alternative representations

Mar 30 2017, 12:10 PM
mgehre added a comment to D15031: CFG: Add CFGElement for automatic variables that leave the scope.

Friendly ping

Mar 30 2017, 11:40 AM
mgehre updated the diff for D24892: [clang-tidy] Add option "LiteralInitializers" to cppcoreguidelines-pro-type-member-init.

Put 'u' and 'l' on integer literals

Mar 30 2017, 11:39 AM · Restricted Project, Restricted Project
mgehre updated the diff for D31441: [clang-format] fix crash in NamespaceEndCommentsFixer (PR32438).

Updated for comments

Mar 30 2017, 11:10 AM

Mar 28 2017

mgehre added inline comments to D31308: [clang-tidy] new check readability-no-alternative-tokens.
Mar 28 2017, 3:07 PM
mgehre updated the diff for D31308: [clang-tidy] new check readability-no-alternative-tokens.

Improved diagnostic; updated documentation; added test for overloaded operator

Mar 28 2017, 3:07 PM
mgehre created D31441: [clang-format] fix crash in NamespaceEndCommentsFixer (PR32438).
Mar 28 2017, 2:13 PM

Mar 27 2017

mgehre added inline comments to D31130: B32239 clang-tidy should not warn about array to pointer decay on system macros.
Mar 27 2017, 1:08 PM
mgehre committed rL298880: Add [[clang::suppress(rule, ...)]] attribute.
Add [[clang::suppress(rule, ...)]] attribute
Mar 27 2017, 12:58 PM
mgehre closed D24886: Add [[clang::suppress(rule, ...)]] attribute by committing rL298880: Add [[clang::suppress(rule, ...)]] attribute.
Mar 27 2017, 12:57 PM

Mar 25 2017

mgehre added inline comments to D31370: [clang-tidy] Prototype to check for exception specification.
Mar 25 2017, 2:45 PM
mgehre added a comment to D18914: [clang-tidy] new readability-redundant-inline.

Friendly ping

Mar 25 2017, 2:27 PM
mgehre updated the diff for D31308: [clang-tidy] new check readability-no-alternative-tokens.

Rename check to readability-operators-representation

Mar 25 2017, 2:24 PM
mgehre added inline comments to D24892: [clang-tidy] Add option "LiteralInitializers" to cppcoreguidelines-pro-type-member-init.
Mar 25 2017, 2:20 PM · Restricted Project, Restricted Project
mgehre updated the diff for D24892: [clang-tidy] Add option "LiteralInitializers" to cppcoreguidelines-pro-type-member-init.

Add suffix for floating point literals; clang-format

Mar 25 2017, 2:19 PM · Restricted Project, Restricted Project
mgehre updated the diff for D24886: Add [[clang::suppress(rule, ...)]] attribute.

Added test to misc; minor wording

Mar 25 2017, 2:18 PM

Mar 24 2017

mgehre updated the diff for D24886: Add [[clang::suppress(rule, ...)]] attribute.

Thank you for the comments; all of them have been addressed.

Mar 24 2017, 4:55 AM
mgehre added a comment to D31308: [clang-tidy] new check readability-no-alternative-tokens.

Thanks for your feedback, Eugene!

Mar 24 2017, 4:17 AM
mgehre added a comment to D22476: [AST] Make MemberExpr non-dependent according to core issue 224.

Friendly ping

Mar 24 2017, 3:57 AM