Compiler engineer at ByteDance. Concentrate on performance optimization and program analysis.
User Details
- User Since
- Jul 19 2017, 4:18 AM (253 w, 2 d)
Sun, May 8
Wed, May 4
Fri, Apr 29
Apr 27 2022
Appreciate your fix, LGTM. I didn't notice the subtle differences between the option prefixes. Please wait for the last review from @MaskRay before landing it.
Apr 25 2022
Mar 27 2022
Mar 22 2022
Mar 17 2022
I appreciate your guidance and the feedback, thanks : )
Sorry for the patch abuse, the pre-merge build bot didn't catch the failures, like https://lab.llvm.org/buildbot/#/builders/124/builds/3948 and https://lab.llvm.org/buildbot/#/builders/67/builds/6214. Hopefully, this patch will fix it.
Mar 16 2022
Sorry to interrupt, seems this patch caused the build failure, see https://lab.llvm.org/buildbot/#/builders/124/builds/3944. I don't have any clue why this failed, Did I miss something for the test file? Like ; REQUIRES: x86 is indispensable?
Thanks for all the kind comments, I have updated the patch.
NFC, improve the comments and the test.
Feb 23 2022
Jan 12 2022
Jan 7 2022
FYI: I'm from Bytedance Inc, @Sockke, and I are fixing the AutoFix bugs recently, most of them will lead to the compilation error. For this bug, fixing the override virtual methods but missing the pure virtual base method, which will cause the compilation error. These annoying bugs will hinder the large-scale deployment of clang-tidy AutoFix in the production environment.
This patch has become very complicated now. I summarized this patch and give a figure to illustrate what we have reached. And @Sockke please add some comments to explain the complex part or other means to make this patch more readable.
Aug 30 2021
Aug 19 2021
Aug 17 2021
Aug 16 2021
Hi @NoQ, sorry to bother you. This patch has been on hold for a very long time. It should not have been fixed yet. What's next? Abandon the patch, or improve it yourself?
Aug 15 2021
Aug 13 2021
Aug 11 2021
I think we're a bit off track, and @Sockke wants to accomplish more than one goal in the same patch. I have summarized what we are currently discussing as follow shows:
Aug 10 2021
Aug 8 2021
Aug 7 2021
Aug 5 2021
Jul 24 2021
Thanks for the cleanup.
Jul 21 2021
Yeah, that's right. However, it's much more difficult to give enum an initial value than an integer.
Jul 14 2021
LGTM, thanks for your cleanup.
Apr 11 2021
Dec 14 2020
Nov 22 2019
Good catch, the fix is reasonable to me. However, I'm no longer wok on the analyzer now, maybe you can add @NoQ Or some other active reviewers to review the code.
Jan 27 2019
Dec 9 2018
Dec 6 2018
Dec 4 2018
Please add more context using the -U option, like git diff -U99999 ....
Nov 26 2018
We can land this change this time or do the cleaning job in other patches in the future, it's all up to you guys, the active clangd contributors :).
Use more concise form.
Nov 25 2018
Nov 24 2018
Nov 22 2018
Thank you for doing the cleaning that no one else is interested in! Comments is inline below.
Nov 16 2018
The "moved-from" terminology we adopt here still feels a bit weird to me, but i don't have a better suggestion, so i just removed the single-quotes so that to at least feel proud about what we have.
I am personally fine with this terminology, this checker corresponds to the cert rule EXP63-CPP. Do not rely on the value of a moved-from object, and moved from is also used in many places in CppCoreGuidelines.
Nov 14 2018
Nov 12 2018
I'm totally fine with this patch personally. However I am not familiar with this part, so can't give substantial help :).
Nov 1 2018
Sorry for the long delay for this patch! The implementation is fine for me. However, I'm the newbie on clang diagnostics and have no further insight into this checker. @aaron.ballman may have more valuable insights into this checker.
Oct 29 2018
In addition, clang/lib/StaticAnalyzer/README.txt and other related docs in clang/lib/docs/analyzer are also out of date.
Oct 23 2018
Oct 10 2018
Oct 9 2018
Greate idea! If we can enrich this list, it will not only help the reviewer, but also help beginners, like me, avoid some pitfalls when developing a new checker.
Aug 29 2018
Thank you for digging in to delete that meaningless constructor, NoQ! And sorry for my technology debt : ).
Aug 23 2018
Aug 22 2018
Aug 21 2018
@xazax.hun What do you think?
Aug 17 2018
- rebase
- Since we have enhanced the ability of CallDescription, remove the helper method isCalledOnStringObject().
Aug 13 2018
kindly ping!
Aug 7 2018
Jul 26 2018
@xazax.hun Thanks for your tips! After some investigation, MatchFinder::match just traverse one ASTNode, that means match(namedDecl(HasNameMatcher())) and match(namedDecl(matchesName())) both not traverse children. So there are three ways to match the specified AST node.
Jul 4 2018
Thanks for your review, NoQ!
Jun 29 2018
kindly ping!
Jun 25 2018
Sorry for the long long delay, I was on the Dragon Boat Festival a few days ago.
Jun 13 2018
- Use hasName matcher to match the qualified name.
Jun 12 2018
Jun 11 2018
Remove useless header files for testing.
The implementation is not complicated, the difficulty is that there is no good way to get the qualified name without template arguments. For std::basic_string::c_str(), its qualified name may be std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::c_str, it is almost impossible for users to provide such a name. So one possible implementation is to use std, basic_string and c_str to match in the std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::c_str sequentially.