Page MenuHomePhabricator

alexfh (Alexander Kornienko)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 10 2012, 10:35 AM (363 w, 10 h)

Recent Activity

May 20 2019

alexfh accepted D62125: Run ClangTidy tests in all C++ language modes.

That's a quite impressive amount of work. Thanks! Looks good.

May 20 2019, 2:16 AM · Restricted Project, Restricted Project

May 14 2019

alexfh added a reviewer for D60543: [clang] Update isDerivedFrom to support Objective-C classes 🔍: gribozavr.
May 14 2019, 3:15 PM · Restricted Project

May 9 2019

alexfh accepted D61739: check_clang_tidy.py now passes `-format-style=none` to clang_tidy.

LG, thanks!

May 9 2019, 9:20 AM · Restricted Project, Restricted Project

May 8 2019

alexfh accepted D61644: Documentation for bugprone-inaccurate-erase: added an example of a bug that this checker catches.

LG. Thank you!

May 8 2019, 4:31 AM · Restricted Project

May 7 2019

alexfh edited reviewers for D61386: [clang-tidy] Add support writing a check as a Transformer rewrite rule., added: ilya-biryukov, gribozavr; removed: alexfh, hokein.
May 7 2019, 7:50 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
alexfh edited reviewers for D61350: [clang-tidy] New check calling out uses of +new in Objective-C code, added: gribozavr, ilya-biryukov; removed: hokein, alexfh.
May 7 2019, 5:51 AM · Restricted Project, Restricted Project

May 6 2019

alexfh committed rLLD360040: [lld] A better version of the fix in r359942..
[lld] A better version of the fix in r359942.
May 6 2019, 5:14 AM
alexfh committed rG8b92ec521dec: [lld] A better version of the fix in r359942. (authored by alexfh).
[lld] A better version of the fix in r359942.
May 6 2019, 5:12 AM
alexfh committed rL360040: [lld] A better version of the fix in r359942..
[lld] A better version of the fix in r359942.
May 6 2019, 5:11 AM
alexfh added a comment to rL359942: [lld] Specify output file explicitly.

Perhaps even better would be to not create output at all. I.e -o /dev/null.

May 6 2019, 5:11 AM

May 3 2019

alexfh committed rG3f796f974d75: [lld] Specify output file explicitly (authored by alexfh).
[lld] Specify output file explicitly
May 3 2019, 4:10 PM
alexfh committed rLLD359942: [lld] Specify output file explicitly.
[lld] Specify output file explicitly
May 3 2019, 4:10 PM
alexfh committed rL359942: [lld] Specify output file explicitly.
[lld] Specify output file explicitly
May 3 2019, 4:10 PM
alexfh added a reviewer for D61487: [clang-tidy] Make the plugin honor NOLINT: gribozavr.
May 3 2019, 4:52 AM · Restricted Project, Restricted Project
alexfh added a comment to D61487: [clang-tidy] Make the plugin honor NOLINT.

Apart from NOLINT handling there's more logic in ClangTidyDiagnosticConsumer::HandleDiagnostic, which isn't properly transferred to ClangTidyContext::diag in this patch. The logic that is transferred seems to change the behavior w.r.t. notes that can "unmute" ignored warnings (see https://reviews.llvm.org/D59135#1456108). I suspect that we're missing proper test coverage here. Another issue is that compiler diagnostics don't pass ClangTidyContext::diag in the non-plugin use case. Do all the existing tests pass with your patch?

May 3 2019, 4:52 AM · Restricted Project, Restricted Project
alexfh added a comment to D61480: Added an AST matcher for declarations that are in the `std` namespace.

Please regenerate the HTML docs using clang/docs/tools/dump_ast_matchers.py.

May 3 2019, 1:59 AM · Restricted Project

Apr 24 2019

alexfh accepted D61106: [analyzer][UninitializedObjectChecker] PR41590: Regard _Atomic types as primitive.

LG. Thanks for the fix!

Apr 24 2019, 5:40 PM · Restricted Project
alexfh accepted D61060: [analyzer] ConditionBRVisitor: Test 'add-pop-up-notes=false'.

LG

Apr 24 2019, 5:53 AM · Restricted Project, Restricted Project

Apr 23 2019

alexfh added inline comments to D60629: [clang-tidy] Change the namespace for llvm checkers from 'llvm' to 'llvm_check'.
Apr 23 2019, 4:05 PM · Restricted Project, Restricted Project
alexfh added a comment to D60670: [analyzer] [NFC] PathDiagnostic: Create PathDiagnosticPopUpPiece.

Can we add an option to enable or disable these notes similar to Clang's -fdiagnostics-show-option, -fdiagnostics-show-note-include-stack, etc?

@alexfh, add them as a Clang option with -f? I do not know how Clang Tidy would use that, so that I am not sure. I would create an AnalyzerOptions option as I see that far only.

Apr 23 2019, 8:37 AM · Restricted Project
alexfh accepted D59977: [Lexer] Fix an off-by-one bug in Lexer::getAsCharRange() - NFC..

LG with a comment.

Apr 23 2019, 3:30 AM · Restricted Project, Restricted Project

Apr 18 2019

alexfh created D60868: [clang-format] Fix an assertion failure.
Apr 18 2019, 7:36 AM · Restricted Project
alexfh accepted D60857: [clang-tidy] Address post-commit comments.

There's one more nit. Otherwise good to go.

Apr 18 2019, 6:31 AM · Restricted Project
alexfh added inline comments to D60857: [clang-tidy] Address post-commit comments.
Apr 18 2019, 5:51 AM · Restricted Project

Apr 17 2019

alexfh committed rG68be3229879e: [clang-format] Remove unused Environment constructor. (authored by alexfh).
[clang-format] Remove unused Environment constructor.
Apr 17 2019, 5:40 PM
alexfh committed rC358630: [clang-format] Remove unused Environment constructor..
[clang-format] Remove unused Environment constructor.
Apr 17 2019, 5:40 PM
alexfh committed rL358630: [clang-format] Remove unused Environment constructor..
[clang-format] Remove unused Environment constructor.
Apr 17 2019, 5:39 PM
alexfh committed rG4c177038e096: [clang-tidy] Don't issue cppcoreguidelines-macro-usage on builtin macros (authored by alexfh).
[clang-tidy] Don't issue cppcoreguidelines-macro-usage on builtin macros
Apr 17 2019, 3:36 PM
alexfh committed rL358621: [clang-tidy] Don't issue cppcoreguidelines-macro-usage on builtin macros.
[clang-tidy] Don't issue cppcoreguidelines-macro-usage on builtin macros
Apr 17 2019, 3:36 PM
alexfh committed rCTE358621: [clang-tidy] Don't issue cppcoreguidelines-macro-usage on builtin macros.
[clang-tidy] Don't issue cppcoreguidelines-macro-usage on builtin macros
Apr 17 2019, 3:36 PM
alexfh accepted D60808: [analyzer] pr41335: NoStoreFuncVisitor: Fix crash when no-store event is in a body-farmed function..

LG with a couple of nits.

Apr 17 2019, 2:58 PM · Restricted Project
alexfh added a comment to D60670: [analyzer] [NFC] PathDiagnostic: Create PathDiagnosticPopUpPiece.
In D60670#1469494, @NoQ wrote:

Let's decide whether we want to display the new notes in the text output. @alexfh: Given that clang-tidy is the primary consumer of the analyzer's text output mode, would you rather have or rather not have these new note:s in the text output? (scroll to the bottom of D53076 to see how they look). In my opinion, i'd rather have them in text output (because text output is hard to navigate, and having the necessary information exactly where you need it would probably be helpful), but rather not have them in tools that parse clang-tidy notes and stuff them into a source code view in some GUI (such tools do exist, right?), so im confused. I'd also prefer to have them be off in text output in tests, because such tests usually test checker-specific notes and having more checker-inspecific notes in the tests is more annoying than useful. But that's pretty minor; i'll be happy to write them down every time i write a test if they are believed to be a good thing in text output in general.

Apr 17 2019, 2:52 PM · Restricted Project
alexfh added inline comments to D60629: [clang-tidy] Change the namespace for llvm checkers from 'llvm' to 'llvm_check'.
Apr 17 2019, 12:41 PM · Restricted Project, Restricted Project
alexfh accepted D59812: [analyzer] PR41185: Fix regression where __builtin_* functions weren't recognized.

Awesome, thanks!
LG

Apr 17 2019, 12:21 PM · Restricted Project, Restricted Project
alexfh added a comment to rL358576: [clang-tidy] Add fix descriptions to clang-tidy checks..

A few post-commit comments.

Apr 17 2019, 10:45 AM
alexfh added a comment to D59812: [analyzer] PR41185: Fix regression where __builtin_* functions weren't recognized.

Artem, I'd appreciate, if you found time to finish this fix. The bug is causing most failures in our setup. Thanks!

Apr 17 2019, 10:03 AM · Restricted Project, Restricted Project
alexfh committed rGe31fe508e890: [clang-tidy] Fix invalid location in readability-misleading-indentation… (authored by alexfh).
[clang-tidy] Fix invalid location in readability-misleading-indentation…
Apr 17 2019, 9:24 AM
alexfh committed rCTE358589: [clang-tidy] Fix invalid location in readability-misleading-indentation….
[clang-tidy] Fix invalid location in readability-misleading-indentation…
Apr 17 2019, 9:18 AM
alexfh committed rL358589: [clang-tidy] Fix invalid location in readability-misleading-indentation….
[clang-tidy] Fix invalid location in readability-misleading-indentation…
Apr 17 2019, 9:18 AM

Apr 16 2019

alexfh added inline comments to D60629: [clang-tidy] Change the namespace for llvm checkers from 'llvm' to 'llvm_check'.
Apr 16 2019, 1:35 PM · Restricted Project, Restricted Project
alexfh requested changes to D60776: [clang-tidy] Add test support for the fix description..
Apr 16 2019, 1:07 PM · Restricted Project

Apr 15 2019

alexfh accepted D59932: [clang-tidy] Add fix descriptions to clang-tidy checks..

Thanks! The change looks good now.

Apr 15 2019, 7:51 AM · Restricted Project, Restricted Project

Apr 10 2019

alexfh committed rG8eae988b89a1: Fix a typo (authored by alexfh).
Fix a typo
Apr 10 2019, 8:42 AM
alexfh committed rL358092: Fix a typo.
Fix a typo
Apr 10 2019, 8:41 AM
alexfh added a comment to D60507: [clang-tidy] new check: bugprone-unhandled-self-assignment.

Thanks for the useful check! I have a few comments, see inline.

Apr 10 2019, 6:15 AM · Restricted Project, Restricted Project, Restricted Project

Apr 8 2019

alexfh committed rG10d6008f8523: Remove a bogus sed option in test. (authored by alexfh).
Remove a bogus sed option in test.
Apr 8 2019, 9:37 AM
alexfh committed rC357922: Remove a bogus sed option in test..
Remove a bogus sed option in test.
Apr 8 2019, 9:37 AM
alexfh committed rL357922: Remove a bogus sed option in test..
Remove a bogus sed option in test.
Apr 8 2019, 9:37 AM
alexfh committed rGfb7338b6a579: Remove a useless assertion in clang-check. (authored by alexfh).
Remove a useless assertion in clang-check.
Apr 8 2019, 9:29 AM
alexfh committed rL357921: Remove a useless assertion in clang-check..
Remove a useless assertion in clang-check.
Apr 8 2019, 9:28 AM
alexfh committed rC357921: Remove a useless assertion in clang-check..
Remove a useless assertion in clang-check.
Apr 8 2019, 9:28 AM
alexfh added a comment to D59135: Add check for matching HeaderFilter before emitting Diagnostic.

Hello @alexfh ,
Let me extend your example

$ cat a.cc 
#include "b.h"
#include "d.h"
int main(){check(nullptr);}
$ cat b.h 
#include "c.h"
inline void b() { c(/*y=*/42); }
$ cat c.h 
void c(int x);
$ cat d.h 
inline char* check(char* buffer)
{
	*buffer++=1; // Should be clang-analyzer-core.NullDereference
	return buffer;
}

Now an additional warning is found and shown (=not suppressed):

$ clang-tidy -checks=-*,clang-*,bugprone-argument-comment a.cc --
2 warnings generated.
/home/default/Temp/clang-tidy-test/d.h:3:11: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
        *buffer++=1; // Should be clang-analyzer-core.NullDereference
                 ^
/home/default/Temp/clang-tidy-test/a.cc:3:12: note: Calling 'check'
int main(){check(0);}
           ^
/home/default/Temp/clang-tidy-test/d.h:3:3: note: Null pointer value stored to 'buffer'
        *buffer++=1; // Should be clang-analyzer-core.NullDereference
         ^
/home/default/Temp/clang-tidy-test/d.h:3:11: note: Dereference of null pointer
        *buffer++=1; // Should be clang-analyzer-core.NullDereference
                 ^
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
Apr 8 2019, 8:06 AM · Restricted Project
alexfh committed rGc70d38e997b6: Remove a useless assertion in clang-check. (authored by alexfh).
Remove a useless assertion in clang-check.
Apr 8 2019, 7:17 AM
alexfh committed rC357915: Remove a useless assertion in clang-check..
Remove a useless assertion in clang-check.
Apr 8 2019, 7:17 AM
alexfh committed rL357915: Remove a useless assertion in clang-check..
Remove a useless assertion in clang-check.
Apr 8 2019, 7:17 AM
alexfh added a comment to D59977: [Lexer] Fix an off-by-one bug in Lexer::getAsCharRange() - NFC..

It looks like there's a number of users of this function beyond what you've mentioned:
clang-tidy/readability/IsolateDeclarationCheck.cpp:210
clang-tidy/modernize/ConcatNestedNamespacesCheck.cpp:43
clang-tidy/readability/NamespaceCommentCheck.cpp:106
clang/lib/ARCMigrate/PlistReporter.cpp:110
clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp:192

Apr 8 2019, 1:24 AM · Restricted Project, Restricted Project

Apr 5 2019

alexfh added a comment to D60139: [clang-tidy] Add bugprone-placement-new-target-type-mismatch check.

Looks like this check would fit better into the bugprone module.

Apr 5 2019, 5:57 AM · Restricted Project, Restricted Project
alexfh requested changes to D56644: [clang-tidy] readability-container-size-empty handle std::string length().
Apr 5 2019, 5:54 AM · Restricted Project, Restricted Project
alexfh removed a reviewer for D59408: [clang-format] [PR25010] Extend AllowShortIfStatementsOnASingleLine not working if an "else" statement is present: alexfh.
Apr 5 2019, 5:51 AM · Restricted Project
alexfh added inline comments to D59932: [clang-tidy] Add fix descriptions to clang-tidy checks..
Apr 5 2019, 5:51 AM · Restricted Project, Restricted Project
alexfh requested changes to D59859: [clang-tidy] FIXIT for implicit bool conversion now obeys upper case suffixes if enforced..
Apr 5 2019, 5:51 AM · Restricted Project, Restricted Project
alexfh added a comment to D59746: [CommandLineParser] Add DefaultOption flag.

Can you give a specific example of how this problem manifests?

Apr 5 2019, 5:48 AM · Restricted Project, Restricted Project
alexfh requested changes to D59135: Add check for matching HeaderFilter before emitting Diagnostic.
Apr 5 2019, 5:45 AM · Restricted Project
alexfh added inline comments to D59932: [clang-tidy] Add fix descriptions to clang-tidy checks..
Apr 5 2019, 5:06 AM · Restricted Project, Restricted Project
alexfh added a comment to D59540: [clang-tidy] [PR41119] readability-identifier-naming incorrectly fixes lambda capture.

friendly ping

Apr 5 2019, 5:02 AM · Restricted Project
alexfh added a comment to D59540: [clang-tidy] [PR41119] readability-identifier-naming incorrectly fixes lambda capture.

Thanks, looks better now, but still a few comments, mostly nits.

Apr 5 2019, 5:02 AM · Restricted Project

Apr 4 2019

alexfh added a comment to D60151: [clang-tidy] Rename llvm checkers to llvm-project .
  • Rename llvm directory to llvm_project.
  • Change llvm- to llvm-project-.
  • Rename files.
Apr 4 2019, 5:32 AM · Restricted Project

Apr 3 2019

alexfh added a comment to D59812: [analyzer] PR41185: Fix regression where __builtin_* functions weren't recognized.

Thanks for addressing this! Please add the test cases from https://bugs.llvm.org/show_bug.cgi?id=41185

Apr 3 2019, 10:35 AM · Restricted Project, Restricted Project
alexfh added inline comments to D60151: [clang-tidy] Rename llvm checkers to llvm-project .
Apr 3 2019, 10:28 AM · Restricted Project
alexfh added a comment to D59932: [clang-tidy] Add fix descriptions to clang-tidy checks..

This looks like a more promising direction. Thanks for the readiness to experiment with this.

Apr 3 2019, 10:15 AM · Restricted Project, Restricted Project
alexfh added a comment to D59449: [clang-tidy] Integrate clang-tidy-diff.py machinery into run-clang-tidy.py.

Why not just use clang-tidy-diff.py? The clang-tidy-diff.py script has a distinct and somewhat self-documenting name and a very specific purpose (find clang-tidy regressions in a patch), while run-clang-tidy.py is more focused on running over larger bodies of code with a purpose of analyzing or cleaning up. Is there any benefit in having all functionality in run-clang-tidy.py?

Both scripts have almost the same implementation, almost the same syntax (at least after -j and -timeout we introduced). So why not merge them.

Apr 3 2019, 7:50 AM · Restricted Project, Restricted Project
alexfh added inline comments to D33841: [clang-tidy] redundant 'extern' keyword check.
Apr 3 2019, 7:14 AM · Restricted Project
alexfh committed rGee737a84d75b: [clang-tidy] Remove the old ClangTidyCheck::registerPPCallbacks method (authored by alexfh).
[clang-tidy] Remove the old ClangTidyCheck::registerPPCallbacks method
Apr 3 2019, 7:03 AM
alexfh committed rL357582: [clang-tidy] Remove the old ClangTidyCheck::registerPPCallbacks method.
[clang-tidy] Remove the old ClangTidyCheck::registerPPCallbacks method
Apr 3 2019, 7:03 AM
alexfh committed rCTE357582: [clang-tidy] Remove the old ClangTidyCheck::registerPPCallbacks method.
[clang-tidy] Remove the old ClangTidyCheck::registerPPCallbacks method
Apr 3 2019, 7:03 AM
alexfh closed D60197: [clang-tidy] Remove the old ClangTidyCheck::registerPPCallbacks method.
Apr 3 2019, 7:03 AM · Restricted Project
alexfh added a comment to D59963: [clang-tidy] Add a module for the Linux kernel..

Can you verify that the add_new_check.py script works fine with this new module?
Thanks!

Apr 3 2019, 6:25 AM · Restricted Project, Restricted Project
alexfh accepted D60151: [clang-tidy] Rename llvm checkers to llvm-project .

The change looks fine, but I don't understand the description of this revision. Could you clarify which checkers you're talking about and which bug you observe?

Apr 3 2019, 6:20 AM · Restricted Project
alexfh created D60197: [clang-tidy] Remove the old ClangTidyCheck::registerPPCallbacks method.
Apr 3 2019, 6:15 AM · Restricted Project

Apr 2 2019

alexfh committed rG07ef786652e7: [clang-tidy] make getLangOpts return a const ref (authored by alexfh).
[clang-tidy] make getLangOpts return a const ref
Apr 2 2019, 4:33 AM
alexfh committed rL357468: [clang-tidy] make getLangOpts return a const ref.
[clang-tidy] make getLangOpts return a const ref
Apr 2 2019, 4:33 AM
alexfh committed rCTE357468: [clang-tidy] make getLangOpts return a const ref.
[clang-tidy] make getLangOpts return a const ref
Apr 2 2019, 4:33 AM
alexfh requested changes to D59932: [clang-tidy] Add fix descriptions to clang-tidy checks..
Apr 2 2019, 2:27 AM · Restricted Project, Restricted Project
alexfh edited reviewers for D60115: Adding 'CLion integration' to clang-format doc, added: krasimir; removed: alexfh.
Apr 2 2019, 2:16 AM · Restricted Project

Apr 1 2019

alexfh added inline comments to D59859: [clang-tidy] FIXIT for implicit bool conversion now obeys upper case suffixes if enforced..
Apr 1 2019, 9:45 AM · Restricted Project, Restricted Project
alexfh added a comment to D59859: [clang-tidy] FIXIT for implicit bool conversion now obeys upper case suffixes if enforced..

I'm not sure why we want this? What is wrong with simply applying clang-tidy twice?

It doubles the execution time of checking a large project (which may be unacceptably slow), and there's no guarantee that twice will be enough in the general case (one set of fixes may trigger a different check's diagnostics, which may get fixed and trigger another check's diagnostics, etc).

Apr 1 2019, 8:28 AM · Restricted Project, Restricted Project
alexfh added inline comments to D59859: [clang-tidy] FIXIT for implicit bool conversion now obeys upper case suffixes if enforced..
Apr 1 2019, 8:28 AM · Restricted Project, Restricted Project
alexfh added a comment to D59449: [clang-tidy] Integrate clang-tidy-diff.py machinery into run-clang-tidy.py.

How is this functionality different from the clang-tidy-diff.py script with the -j option being added in the other patch?

It's the same.

Apr 1 2019, 4:46 AM · Restricted Project, Restricted Project

Mar 29 2019

alexfh committed rG397ee70180c9: [clang-tidy] Fix PR28406 (authored by alexfh).
[clang-tidy] Fix PR28406
Mar 29 2019, 1:54 PM
alexfh committed rL357312: [clang-tidy] Fix PR28406.
[clang-tidy] Fix PR28406
Mar 29 2019, 1:54 PM
alexfh committed rCTE357312: [clang-tidy] Fix PR28406.
[clang-tidy] Fix PR28406
Mar 29 2019, 1:54 PM
alexfh added a comment to D59963: [clang-tidy] Add a module for the Linux kernel..

Looks reasonable in general, but we usually add modules with at least one check. Let's do the same here.

Mar 29 2019, 10:14 AM · Restricted Project, Restricted Project

Mar 28 2019

alexfh added a comment to D59901: [analyzer] PR41239: Fix a crash on invalid source location in NoStoreFuncVisitor..

I've posted another test case to https://bugs.llvm.org/show_bug.cgi?id=41239. It may already be covered by the fix. Could you check?

Mar 28 2019, 8:27 AM · Restricted Project, Restricted Project

Mar 27 2019

alexfh accepted D59857: [analyzer] PR37501: Disable the assertion for reverse-engineering logical op short circuits..

LG

Mar 27 2019, 2:14 AM · Restricted Project

Mar 25 2019

alexfh accepted D59622: [analyzer] C++17: PR41142: Ignore transparent InitListExprs in ExprEngine as well..

LG. This fixes (at least, most of) the crashes we observe.

Mar 25 2019, 9:01 AM · Restricted Project
alexfh committed rG629186886405: [clang-tidy] ClangTidy.h -> ClangTidyCheck.h (authored by alexfh).
[clang-tidy] ClangTidy.h -> ClangTidyCheck.h
Mar 25 2019, 7:46 AM
alexfh committed rCTE356902: [clang-tidy] ClangTidy.h -> ClangTidyCheck.h.
[clang-tidy] ClangTidy.h -> ClangTidyCheck.h
Mar 25 2019, 7:45 AM
alexfh committed rL356902: [clang-tidy] ClangTidy.h -> ClangTidyCheck.h.
[clang-tidy] ClangTidy.h -> ClangTidyCheck.h
Mar 25 2019, 7:45 AM
alexfh committed rG478fc5c83e93: [clang-tidy] Switch checks to #include "ClangTidyCheck.h" (authored by alexfh).
[clang-tidy] Switch checks to #include "ClangTidyCheck.h"
Mar 25 2019, 5:40 AM
alexfh committed rL356892: [clang-tidy] Switch checks to #include "ClangTidyCheck.h".
[clang-tidy] Switch checks to #include "ClangTidyCheck.h"
Mar 25 2019, 5:40 AM