diff options
Diffstat (limited to 'compilerplugins/clang/inlinefields.cxx')
-rw-r--r-- | compilerplugins/clang/inlinefields.cxx | 7 |
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()); |