From 6facd4811af68538544207fc1be606bf2cefbb1e Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Wed, 23 Oct 2019 18:23:04 +0200 Subject: Fix call to NamedDecl::getName ...which fails at least with clang-8.0.0-3.fc30.x86_64 with "clang-8: /usr/include/clang/AST/Decl.h:277: llvm::StringRef clang::NamedDecl::getName() const: Assertion `Name.isIdentifier() && "Name is not a simple identifier"' failed." Change-Id: I6999240e2b518b6818a43d1e5ac92224300b343f Reviewed-on: https://gerrit.libreoffice.org/81415 Tested-by: Michael Stahl Tested-by: Jenkins Reviewed-by: Stephan Bergmann --- compilerplugins/clang/bufferadd.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'compilerplugins') 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)) -- cgit v1.2.3