summaryrefslogtreecommitdiff
path: root/compilerplugins
diff options
context:
space:
mode:
Diffstat (limited to 'compilerplugins')
-rw-r--r--compilerplugins/clang/bufferadd.cxx11
1 files changed, 7 insertions, 4 deletions
diff --git a/compilerplugins/clang/bufferadd.cxx b/compilerplugins/clang/bufferadd.cxx
index 4346e9ca28b2..ab619f523622 100644
--- a/compilerplugins/clang/bufferadd.cxx
+++ b/compilerplugins/clang/bufferadd.cxx
@@ -274,10 +274,13 @@ bool BufferAdd::isMethodOkToMerge(CXXMemberCallExpr const* memberCall)
if (methodDecl->getNumParams() == 0)
return true;
- auto name = methodDecl->getName();
- if (name == "appendUninitialized" || name == "setLength" || name == "remove" || name == "insert"
- || name == "appendAscii" || name == "appendUtf32")
- return false;
+ if (auto const id = methodDecl->getIdentifier())
+ {
+ auto name = id->getName();
+ if (name == "appendUninitialized" || name == "setLength" || name == "remove"
+ || name == "insert" || name == "appendAscii" || name == "appendUtf32")
+ return false;
+ }
auto rhs = memberCall->getArg(0);
if (!isSideEffectFree(rhs))