diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-08-17 16:18:15 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-08-17 16:18:15 +0200 |
commit | 19522f05880d67fda63dc6c62c0f5afb851c6a31 (patch) | |
tree | 625e1ebc1c9c9edbefdd8afb3c5eab4a2597d80d | |
parent | 046878a88a9fd47101db9e24eb9fb4203ca6efbe (diff) |
fix compiler error in passparamsbyref
Under clang-3.8 we get:
compilerplugins/clang/passparamsbyref.cxx:158:31: error: no member named
'isAssignmentOp' in 'clang::CXXOperatorCallExpr'
Change-Id: Icfba2b624f53f07418674237adc5a47819f73c43
-rw-r--r-- | compilerplugins/clang/passparamsbyref.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/compilerplugins/clang/passparamsbyref.cxx b/compilerplugins/clang/passparamsbyref.cxx index aa66d09ea3db..01362afc9a82 100644 --- a/compilerplugins/clang/passparamsbyref.cxx +++ b/compilerplugins/clang/passparamsbyref.cxx @@ -155,7 +155,12 @@ bool PassParamsByRef::VisitCXXOperatorCallExpr(const CXXOperatorCallExpr * cxxOp if (!mbInsideFunctionDecl) return true; // if we are assigning to a parameter, it can be inconvenient to make the param pass-by-ref - if (!cxxOperatorCallExpr->isAssignmentOp()) + auto op = cxxOperatorCallExpr->getOperator(); + if ( op != clang::OverloadedOperatorKind::OO_Equal + && op != clang::OverloadedOperatorKind::OO_SlashEqual + && op != clang::OverloadedOperatorKind::OO_StarEqual + && op != clang::OverloadedOperatorKind::OO_MinusEqual + && op != clang::OverloadedOperatorKind::OO_PlusEqual) return true; auto declRefExpr = dyn_cast<DeclRefExpr>(cxxOperatorCallExpr->getArg(0)); if (!declRefExpr) |