forked from OSchip/llvm-project
[clang-tidy] Avoid extra parentheses around MemberExpr
Fixes https://github.com/llvm/llvm-project/issues/55025. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D129596
This commit is contained in:
parent
4447603616
commit
0734c02b34
|
@ -98,7 +98,8 @@ void ContainerDataPointerCheck::check(const MatchFinder::MatchResult &Result) {
|
|||
Lexer::getSourceText(CharSourceRange::getTokenRange(SrcRange),
|
||||
*Result.SourceManager, getLangOpts())};
|
||||
|
||||
if (!isa<DeclRefExpr, ArraySubscriptExpr, CXXOperatorCallExpr, CallExpr>(CE))
|
||||
if (!isa<DeclRefExpr, ArraySubscriptExpr, CXXOperatorCallExpr, CallExpr,
|
||||
MemberExpr>(CE))
|
||||
ReplacementText = "(" + ReplacementText + ")";
|
||||
|
||||
if (CE->getType()->isPointerType())
|
||||
|
|
|
@ -255,6 +255,9 @@ Changes in existing checks
|
|||
<clang-tidy/checks/readability/const-return-type>` when a pure virtual function
|
||||
overrided has a const return type. Removed the fix for a virtual function.
|
||||
|
||||
- Skipped addition of extra parentheses around member accesses (``a.b``) in fix-it for
|
||||
:doc:`readability-container-data-pointer <clang-tidy/checks/readability/container-data-pointer>`.
|
||||
|
||||
- Fixed incorrect suggestions for :doc:`readability-container-size-empty
|
||||
<clang-tidy/checks/readability/container-size-empty>` when smart pointers are involved.
|
||||
|
||||
|
|
|
@ -144,3 +144,14 @@ int *q(std::vector<int> ***v) {
|
|||
// CHECK-MESSAGES: :[[@LINE-1]]:10: warning: 'data' should be used for accessing the data pointer instead of taking the address of the 0-th element [readability-container-data-pointer]
|
||||
// CHECK-FIXES: {{^ }}return (**v)->data();{{$}}
|
||||
}
|
||||
|
||||
struct VectorHolder {
|
||||
std::vector<int> v;
|
||||
};
|
||||
|
||||
int *r() {
|
||||
VectorHolder holder;
|
||||
return &holder.v[0];
|
||||
// CHECK-MESSAGES: :[[@LINE-1]]:10: warning: 'data' should be used for accessing the data pointer instead of taking the address of the 0-th element [readability-container-data-pointer]
|
||||
// CHECK-FIXES: {{^ }}return holder.v.data();{{$}}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue