[PATCH] D76996: [analyzer] Improve PlacementNewChecker

2020-05-11 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat added a comment. In D76996#2017572 , @martong wrote: > > ... This draws a pattern that we should recursively descend down to the top > > most base region. I.e. the different check*RegionAlign methods should call > > into each other until we reach

[PATCH] D76996: [analyzer] Improve PlacementNewChecker

2020-04-23 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 259667. f00kat added a comment. 1. Build fix CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76996/new/ https://reviews.llvm.org/D76996 Files: clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp clang/test/Analysis/placement-new.cpp Index:

[PATCH] D76996: [analyzer] Improve PlacementNewChecker

2020-04-23 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 259636. f00kat marked 4 inline comments as done. f00kat added a comment. 1. Refactoring 2. Build fix Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76996/new/ https://reviews.llvm.org/D76996 Files:

[PATCH] D76996: [analyzer] Improve PlacementNewChecker

2020-04-23 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 259499. f00kat added a comment. 1. Rewroted ElementRegion processing and fixed tests for this cases. 2. Simplified the code a bit. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76996/new/

[PATCH] D76996: [analyzer] Improve PlacementNewChecker

2020-04-19 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat marked 4 inline comments as done. f00kat added a comment. Ping? :) Comment at: clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp:189 + if (const MemRegion *MRegion = PlaceVal.getAsRegion()) { +if (const ElementRegion *TheElementRegion = +

[PATCH] D76996: [analyzer] Improve PlacementNewChecker

2020-04-04 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 255039. f00kat added a comment. 1. Maybe build fix 2. Added tests for nested arrays of structures 3. Fixed bugs in implementation for ElementRegion cases CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76996/new/ https://reviews.llvm.org/D76996

[PATCH] D76996: [analyzer] Improve PlacementNewChecker

2020-03-31 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 253803. f00kat marked an inline comment as done. f00kat added a comment. Fixed comments in tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76996/new/ https://reviews.llvm.org/D76996 Files:

[PATCH] D76996: [analyzer] Improve PlacementNewChecker

2020-03-30 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 253642. f00kat marked an inline comment as done. f00kat added a comment. test fix Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76996/new/ https://reviews.llvm.org/D76996 Files:

[PATCH] D76996: [analyzer] Improve PlacementNewChecker

2020-03-30 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 253628. f00kat marked 3 inline comments as done. f00kat added a comment. 1. Removed code and tests for ConcreteInt cases 2. Fixed FieldRegion check 3. Added handling for ElementRegion cases such as void f7() { short b[10]; // ok. 2(short align) +

[PATCH] D76996: [analyzer] Improve PlacementNewChecker

2020-03-29 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 253408. f00kat added a comment. lint fixes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76996/new/ https://reviews.llvm.org/D76996 Files: clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp

[PATCH] D76996: [analyzer] Improve PlacementNewChecker

2020-03-28 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat created this revision. f00kat added reviewers: aaron.ballman, lebedev.ri, NoQ, martong. f00kat added a project: clang. Herald added subscribers: cfe-commits, ASDenysPetrov, Charusso, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, rnkovacs, szepet, baloghadamsoftware,

[PATCH] D76229: [clang-tidy] Added PlacementNewStorageCheck

2020-03-18 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat added a comment. In D76229#1926818 , @Charusso wrote: > In D76229#1925363 , @f00kat wrote: > > > In D76229#1925268 , @aaron.ballman > > wrote: > > > > > Have you

[PATCH] D76229: [clang-tidy] Added PlacementNewStorageCheck

2020-03-17 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat added a comment. NoQ, I don`t want to say that existing static alalyzer is bad written or something. I just noticed that it does not yet support arrays and alignment. Anyway thank you for your detailed feedback. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D76229: [clang-tidy] Added PlacementNewStorageCheck

2020-03-17 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat added a comment. In D76229#1925948 , @lebedev.ri wrote: > In D76229#1925371 , @f00kat wrote: > > > In D76229#1925360 , @lebedev.ri > > wrote: > > > > > This seems to

[PATCH] D76229: [clang-tidy] Added PlacementNewStorageCheck

2020-03-16 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat added a comment. In D76229#1925360 , @lebedev.ri wrote: > This seems to be already handled by clang static analyzer? > (`clang-analyzer-cplusplus.PlacementNew`) > > :19:5: warning: Storage provided to placement new is only 2 bytes, > whereas

[PATCH] D76229: [clang-tidy] Added PlacementNewStorageCheck

2020-03-16 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat added a comment. In D76229#1925360 , @lebedev.ri wrote: > This seems to be already handled by clang static analyzer? > (`clang-analyzer-cplusplus.PlacementNew`) > > :19:5: warning: Storage provided to placement new is only 2 bytes, > whereas

[PATCH] D76229: [clang-tidy] Added PlacementNewStorageCheck

2020-03-16 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat added a comment. In D76229#1925268 , @aaron.ballman wrote: > Have you considered making this a static analyzer check as opposed to a > clang-tidy check? I think using dataflow analysis will really reduce the > false positives because it will be

[PATCH] D76229: [clang-tidy] Added PlacementNewStorageCheck

2020-03-16 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 250556. f00kat added a comment. Fix 'const auto*' in function getDescendantValueDecl Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76229/new/ https://reviews.llvm.org/D76229 Files:

[PATCH] D76229: [clang-tidy] Added PlacementNewStorageCheck

2020-03-16 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 250555. f00kat added a comment. 1. Static functions instead of anonymous namespaces. 2. const auto*. 3. Added double back-ticks. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76229/new/

[PATCH] D76229: [clang-tidy] Added PlacementNewStorageCheck

2020-03-16 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat created this revision. f00kat added reviewers: aaron.ballman, alexfh. f00kat added projects: clang, clang-tools-extra. Herald added subscribers: cfe-commits, xazax.hun, mgorny. Added new checker 'cert-mem54-cpp' that checks for CERT rule MEM54-CPP. I have troubles writing English

[PATCH] D75159: [clang-tidy] Fix PR#37210 'Out-of-class template constructor only half-fixed with modernize-pass-by-value'

2020-02-27 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat added a comment. Can you commit it please? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75159/new/ https://reviews.llvm.org/D75159 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D75159: [clang-tidy] Fix PR#37210 'Out-of-class template constructor only half-fixed with modernize-pass-by-value'

2020-02-26 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat created this revision. f00kat added reviewers: aaron.ballman, alexfh. f00kat added projects: clang, clang-tools-extra. Herald added subscribers: cfe-commits, xazax.hun. Existing 'modernize-pass-by-value' check works only with non template values in initializers. Now we also skip cases

[PATCH] D74033: [clang-tidy] Fix PR#44620 'readability-redundant-string-cstr quick-fix causes invalid code'

2020-02-18 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat added a comment. Yes, commit please. Thank you! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74033/new/ https://reviews.llvm.org/D74033 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D74033: [clang-tidy] Fix PR#44620 'readability-redundant-string-cstr quick-fix causes invalid code'

2020-02-11 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 243833. f00kat added a comment. 1. Add full stops at the end of the lines. 2. Add some static. 3. Fix function 'checkParamDeclOfAncestorCallExprHasRValueRefType' to work well with the function pointer calls. Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D74214: [clang-tidy] Fix PR#34798 'readability-braces-around-statements breaks statements containing braces.'

2020-02-07 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat created this revision. f00kat added reviewers: aaron.ballman, alexfh. f00kat added projects: clang, clang-tools-extra. Herald added subscribers: cfe-commits, xazax.hun. In method 'BracesAroundStatementsCheck::checkStmt' the call 'Lexer::makeFileCharRange(line 253)' return different

[PATCH] D74033: [clang-tidy] Fix PR#44620 'readability-redundant-string-cstr quick-fix causes invalid code'

2020-02-05 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat created this revision. f00kat added reviewers: aaron.ballman, alexfh. f00kat added projects: clang-tools-extra, clang. Herald added subscribers: cfe-commits, xazax.hun. #include static void f2(std::string&&) { } static void f() { std::string const s;

[PATCH] D73090: [clang-tidy] Fix PR#44528 'modernize-use-using and enums'

2020-02-02 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat added a comment. Sorry for my english. Sometimes it's more difficult than bug fixing Comment at: clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp:74 if (ReplaceRange.getBegin().isMacroID() || - ReplaceRange.getBegin() >= LastReplacementEnd) { +

[PATCH] D73090: [clang-tidy] Fix PR#44528 'modernize-use-using and enums'

2020-02-02 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 241971. f00kat marked an inline comment as done. f00kat added a comment. Clean up Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73090/new/ https://reviews.llvm.org/D73090 Files:

[PATCH] D73090: [clang-tidy] Fix PR#44528 'modernize-use-using and enums'

2020-02-02 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 241931. f00kat added a comment. 1. clang-format 2. Add comment for additional "files IDs equals" check 3. Add test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73090/new/ https://reviews.llvm.org/D73090

[PATCH] D73090: [clang-tidy] Fix PR#44528 'modernize-use-using and enums'

2020-01-30 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 241448. f00kat added a comment. 1. Apply new tagDecl matcher 2. Trying to fix some bug Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73090/new/ https://reviews.llvm.org/D73090 Files:

[PATCH] D73090: [clang-tidy] Fix PR#44528 'modernize-use-using and enums'

2020-01-30 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat marked 4 inline comments as done. f00kat added a comment. I have changed the code to work with tagDecl. It`s work fine on simple test cases such as typedef enum { ea, eb } EnumT; But not work with #include typedef enum { ea, eb } EnumT; It is not related with new tagDecl

[PATCH] D73464: [clang] Add TagDecl AST matcher

2020-01-28 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat added a comment. In D73464#1845511 , @aaron.ballman wrote: > In D73464#1844402 , @f00kat wrote: > > > In D73464#1844310 , @aaron.ballman > > wrote: > > > > > LGTM!

[PATCH] D73464: [clang] Add TagDecl AST matcher

2020-01-28 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat marked an inline comment as done. f00kat added a comment. In D73464#1844310 , @aaron.ballman wrote: > LGTM! Do you need someone to commit on your behalf? Yes, please. I don`t know how :) Comment at:

[PATCH] D73464: [clang] Add TagDecl AST matcher

2020-01-27 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 240779. f00kat added a comment. 1. Fix Registry.cpp 2. Generate AST Matchers doc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73464/new/ https://reviews.llvm.org/D73464 Files:

[PATCH] D73464: [clang] Add TagDecl AST matcher

2020-01-27 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat created this revision. f00kat added reviewers: aaron.ballman, alexfh, hokein, JonasToth. f00kat added a project: clang. Herald added a subscriber: cfe-commits. In this case https://reviews.llvm.org/D73090#1840501 @aaron.ballman suggest to add new AST matcher for tagDecl to avoid using

[PATCH] D73090: [clang-tidy] Fix PR#44528 'modernize-use-using and enums'

2020-01-21 Thread Karasev Nikita via Phabricator via cfe-commits
f00kat updated this revision to Diff 239491. f00kat added a comment. Add new line in the end of file checkers/modernize-use-using.cpp CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73090/new/ https://reviews.llvm.org/D73090 Files: