Page MenuHomePhabricator

leanil (András Leitereg)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 13 2017, 1:22 AM (130 w, 3 d)

Recent Activity

Mar 2 2018

leanil added inline comments to D43928: [analyzer] Correctly measure array size in security.insecureAPI.strcpy.
Mar 2 2018, 6:22 AM

Mar 1 2018

leanil updated the diff for D43928: [analyzer] Correctly measure array size in security.insecureAPI.strcpy.

getQuantity() returns a signed type

Mar 1 2018, 12:28 AM
leanil created D43928: [analyzer] Correctly measure array size in security.insecureAPI.strcpy.
Mar 1 2018, 12:20 AM

Feb 24 2018

leanil updated the diff for D41384: [analyzer] Suppress false positive warnings form security.insecureAPI.strcpy.

Use getTypeSizeInChars to get array size.

Feb 24 2018, 6:41 AM

Jan 12 2018

leanil added a comment to D41384: [analyzer] Suppress false positive warnings form security.insecureAPI.strcpy.
In D41384#973851, @NoQ wrote:

Do you have commit access or should someone else commit it for you?

Jan 12 2018, 12:03 PM
leanil updated the diff for D41384: [analyzer] Suppress false positive warnings form security.insecureAPI.strcpy.

Measure array size in bytes instead of elements.

Jan 12 2018, 11:58 AM

Jan 11 2018

leanil added inline comments to D41384: [analyzer] Suppress false positive warnings form security.insecureAPI.strcpy.
Jan 11 2018, 1:37 PM
leanil updated the diff for D41384: [analyzer] Suppress false positive warnings form security.insecureAPI.strcpy.

Nest condition checking. Add positive test.

Jan 11 2018, 1:33 PM
leanil updated the diff for D41384: [analyzer] Suppress false positive warnings form security.insecureAPI.strcpy.

Change result types to match the query return types.

Jan 11 2018, 9:48 AM

Dec 20 2017

leanil updated the diff for D41384: [analyzer] Suppress false positive warnings form security.insecureAPI.strcpy.

Move negative test next to the positive ones, because the necessary macros and run-lines are already defined there.

Dec 20 2017, 8:47 AM
leanil added a comment to D38171: [clang-tidy] Implement clang-tidy check aliases.

Does anyone have any more thoughts about this?

Dec 20 2017, 8:32 AM
leanil updated the diff for D38171: [clang-tidy] Implement clang-tidy check aliases.

Remove redundant empty lines.
Make list-clang-diagnostics test less strict.
Update getAllDiagnostics to use std::vector.

Dec 20 2017, 8:29 AM
leanil added a child revision for D38171: [clang-tidy] Implement clang-tidy check aliases: D41451: Make DiagnosticIDs::getAllDiagnostics use std::vector.
Dec 20 2017, 8:00 AM
leanil added a parent revision for D41451: Make DiagnosticIDs::getAllDiagnostics use std::vector: D38171: [clang-tidy] Implement clang-tidy check aliases.
Dec 20 2017, 8:00 AM
leanil created D41451: Make DiagnosticIDs::getAllDiagnostics use std::vector.
Dec 20 2017, 7:55 AM

Dec 19 2017

leanil created D41384: [analyzer] Suppress false positive warnings form security.insecureAPI.strcpy.
Dec 19 2017, 3:00 AM

Nov 1 2017

leanil updated the diff for D39372: Make DiagnosticIDs::getAllDiagnostics static..

Update usages of the function.
Checked with clang-tidy readability-static-accessed-through-instance.

Nov 1 2017, 1:26 AM

Oct 27 2017

leanil added a comment to D38171: [clang-tidy] Implement clang-tidy check aliases.

One problem to think about when we add all clang-diagnostic as "first or second" class citizen, checkes=* might now enable all the warnings which make no sense and might be surprising to the users. What do you think?

Oct 27 2017, 8:02 AM
leanil added a child revision for D38171: [clang-tidy] Implement clang-tidy check aliases: D39372: Make DiagnosticIDs::getAllDiagnostics static..
Oct 27 2017, 7:54 AM
leanil added a parent revision for D39372: Make DiagnosticIDs::getAllDiagnostics static.: D38171: [clang-tidy] Implement clang-tidy check aliases.
Oct 27 2017, 7:54 AM
leanil created D39372: Make DiagnosticIDs::getAllDiagnostics static..
Oct 27 2017, 7:52 AM
leanil updated the diff for D38171: [clang-tidy] Implement clang-tidy check aliases.

Make clang-diagnostic-* checks first-class citizens and take full control of all diagnostics, i.e. disable all Clang diagnostics by default, and enable the ones that correspond to the enabled clang-diagnostic checks.

(As @alexfh suggested.)

Oct 27 2017, 7:32 AM

Sep 26 2017

leanil added a comment to D38171: [clang-tidy] Implement clang-tidy check aliases.

András, that's definitely an interesting idea. However, it might be interesting to explore a more principled approach:

  1. Make clang-diagnostic-* checks first-class citizens and take full control of all diagnostics, i.e. disable all Clang diagnostics by default, and enable the ones that correspond to the enabled clang-diagnostic checks.

I agree that this is a good idea. I think it could be done in this patch. But to be sure, could you elaborate on what do you mean by first-class citizen?

  1. Make aliases first-class citizens (there was a proposal as well, but we didn't arrive to a consensus at that time). That would include the ability to configure an alias name for any check including clang-diagnostic- and clang-analyzer- checks.

Do you have a link to the proposal? What do you mean by the ability to configure? As in having a config file or registering aliases in modules like now? If you mean the former, I think that is better addressed in a follow-up patch.

I also think this sounds good, though I'm not quite sure it can be done in this patch. Anyway, we should definitely specify what we expect from first-class citizen checks. Please correct & extend the list:

  • can be enabled or disabled through a unique name
  • can have config options
  • can have aliases
  • inherits ClangTidyCheck

I see the last one as a requirement for handling everything uniformly (without workarounds like this patch), but also as a main point where an alias differs from a "real" check.

Sep 26 2017, 3:30 PM
leanil updated the diff for D38171: [clang-tidy] Implement clang-tidy check aliases.

Add more tests and minor fixes.

Sep 26 2017, 3:30 PM

Sep 22 2017

leanil created D38171: [clang-tidy] Implement clang-tidy check aliases.
Sep 22 2017, 3:57 AM

Apr 4 2017

leanil updated the diff for D30547: [clang-tidy] Forwarding reference overload in constructors.

fix new lines

Apr 4 2017, 3:07 AM · Restricted Project

Apr 2 2017

leanil updated the diff for D30547: [clang-tidy] Forwarding reference overload in constructors.

Simplify checking the presence of copy and move ctors.

Apr 2 2017, 3:29 AM · Restricted Project

Mar 27 2017

leanil added inline comments to D30547: [clang-tidy] Forwarding reference overload in constructors.
Mar 27 2017, 5:24 AM · Restricted Project
leanil updated the diff for D30547: [clang-tidy] Forwarding reference overload in constructors.

Correct earlier diff issue with outdated master.

Mar 27 2017, 5:17 AM · Restricted Project
leanil updated the diff for D30547: [clang-tidy] Forwarding reference overload in constructors.

Make the warning message more precise.
Add tests for implicitly declared constructors.

Mar 27 2017, 5:05 AM · Restricted Project

Mar 23 2017

leanil added inline comments to D30547: [clang-tidy] Forwarding reference overload in constructors.
Mar 23 2017, 12:29 AM · Restricted Project
leanil updated the diff for D30547: [clang-tidy] Forwarding reference overload in constructors.

Simplify the note generation and correct the documentation.

Mar 23 2017, 12:22 AM · Restricted Project

Mar 21 2017

leanil updated the diff for D30547: [clang-tidy] Forwarding reference overload in constructors.

Suppress warning only on std::enable_if.
Make note on copy and move constructors.

Mar 21 2017, 2:04 PM · Restricted Project

Mar 9 2017

leanil added inline comments to D30547: [clang-tidy] Forwarding reference overload in constructors.
Mar 9 2017, 1:50 AM · Restricted Project
leanil updated the diff for D30547: [clang-tidy] Forwarding reference overload in constructors.

Fix enable_if detection in pointer and reference types.
Improve test coverage for these cases.

Mar 9 2017, 1:16 AM · Restricted Project

Mar 4 2017

leanil added inline comments to D30547: [clang-tidy] Forwarding reference overload in constructors.
Mar 4 2017, 1:51 AM · Restricted Project
leanil updated the diff for D30547: [clang-tidy] Forwarding reference overload in constructors.

Added changes according to the comments.

Mar 4 2017, 1:42 AM · Restricted Project

Mar 2 2017

leanil added inline comments to D30547: [clang-tidy] Forwarding reference overload in constructors.
Mar 2 2017, 12:20 PM · Restricted Project
leanil created D30547: [clang-tidy] Forwarding reference overload in constructors.
Mar 2 2017, 12:17 PM · Restricted Project

Jan 19 2017

leanil updated the diff for D28667: [clang-tidy] Don't modernize-raw-string-literal if replacement is longer..

Add config parameter to control new functionality.
Update the test cases accordingly.

Jan 19 2017, 12:42 PM · Restricted Project
leanil added a comment to D28667: [clang-tidy] Don't modernize-raw-string-literal if replacement is longer..

Don't do this without introducing an option to turn it off.

To clarify my reasoning:
You imposing your subjective idea of goodness on the code, i.e. style. Other people will have different ideas about what they want from the code. So, to quote the X Window System Maxim, provide tools not rules. Allow people to say whether or not they want the raw string literal in this case.

Jan 19 2017, 10:30 AM · Restricted Project

Jan 18 2017

leanil updated the diff for D28667: [clang-tidy] Don't modernize-raw-string-literal if replacement is longer..

Add test cases for the new functionality.
These should not produce warnings, because their raw string replacement would be longer.

Jan 18 2017, 2:39 AM · Restricted Project

Jan 15 2017

leanil added inline comments to D28667: [clang-tidy] Don't modernize-raw-string-literal if replacement is longer..
Jan 15 2017, 11:41 PM · Restricted Project

Jan 13 2017

leanil retitled D28667: [clang-tidy] Don't modernize-raw-string-literal if replacement is longer. from to [clang-tidy] Don't modernize-raw-string-literal if replacement is longer..
Jan 13 2017, 2:14 AM · Restricted Project