summaryrefslogtreecommitdiff
path: root/compilerplugins/clang/inlinefields.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'compilerplugins/clang/inlinefields.cxx')
-rw-r--r--compilerplugins/clang/inlinefields.cxx7
1 files changed, 5 insertions, 2 deletions
diff --git a/compilerplugins/clang/inlinefields.cxx b/compilerplugins/clang/inlinefields.cxx
index a29a9662e6d5..abc665de6959 100644
--- a/compilerplugins/clang/inlinefields.cxx
+++ b/compilerplugins/clang/inlinefields.cxx
@@ -95,7 +95,7 @@ public:
bool VisitFieldDecl( const FieldDecl* );
bool VisitCXXConstructorDecl( const CXXConstructorDecl* );
bool VisitCXXDeleteExpr( const CXXDeleteExpr* );
- bool VisitBinAssign( const BinaryOperator* );
+ bool VisitBinaryOperator( const BinaryOperator* );
private:
MyFieldInfo niceName(const FieldDecl*);
void checkTouched(const FieldDecl* fieldDecl, const Expr* memberExpr);
@@ -174,8 +174,11 @@ static bool isSameParent(const CXXMethodDecl* cxxMethodDecl, const FieldDecl* fi
return cxxMethodDecl->getParent() == dyn_cast<CXXRecordDecl>(fieldDecl->getParent());
}
-bool InlineFields::VisitBinAssign(const BinaryOperator * binaryOp)
+bool InlineFields::VisitBinaryOperator(const BinaryOperator * binaryOp)
{
+ if (binaryOp->getOpcode() != BO_Assign) {
+ return true;
+ }
if( ignoreLocation( binaryOp ) )
return true;
auto memberExpr = dyn_cast<MemberExpr>(binaryOp->getLHS());