Skip to content

Commit 5dbb4c7

Browse files
authored
[NFC][libclc] Fix coverity issue: Creating temporary of type llvm::SmallDenseMap ...(TypeReplacements) (#20875)
1 parent 38f555f commit 5dbb4c7

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

libclc/utils/libclc-remangler/LibclcRemangler.cpp

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ using Demangler = ManglingParser<DefaultAllocator>;
281281
class Remangler {
282282
public:
283283
Remangler(ASTContext *AST, const Node *Root,
284-
SmallDenseMap<const char *, const char *> TypeReplacements)
284+
const SmallDenseMap<const char *, const char *> &TypeReplacements)
285285
: AST(AST), Root(Root), TypeReplacements(TypeReplacements) {
286286
MangleContext.reset(
287287
ItaniumMangleContext::create(*AST, AST->getDiagnostics()));
@@ -728,7 +728,7 @@ class Remangler {
728728
ASTContext *AST = nullptr;
729729
std::unique_ptr<clang::MangleContext> MangleContext{};
730730
const Node *Root = nullptr;
731-
SmallDenseMap<const char *, const char *> TypeReplacements{};
731+
const SmallDenseMap<const char *, const char *> &TypeReplacements;
732732

733733
bool Failed = false;
734734

@@ -790,16 +790,18 @@ class TargetTypeReplacements {
790790
createRemangledTypeReplacements();
791791
}
792792

793-
SmallDenseMap<const char *, const char *> getParameterTypeReplacements() {
793+
const SmallDenseMap<const char *, const char *> &
794+
getParameterTypeReplacements() const {
794795
return ParameterTypeReplacements;
795796
}
796797

797-
SmallDenseMap<const char *, const char *> getCloneTypeReplacements() {
798+
const SmallDenseMap<const char *, const char *> &
799+
getCloneTypeReplacements() const {
798800
return CloneTypeReplacements;
799801
}
800802

801-
SmallDenseMap<const char *, const char *>
802-
getRemangledCloneTypeReplacements() {
803+
const SmallDenseMap<const char *, const char *> &
804+
getRemangledCloneTypeReplacements() const {
803805
return RemangledCloneTypeReplacements;
804806
}
805807
};
@@ -841,11 +843,11 @@ class LibCLCRemangler : public ASTConsumer {
841843
Replacements.getRemangledCloneTypeReplacements());
842844
}
843845

844-
bool
845-
createCloneFromMap(llvm::Module *M, StringRef OriginalName,
846-
const itanium_demangle::Node *FunctionTree,
847-
SmallDenseMap<const char *, const char *> TypeReplacements,
848-
bool CloneeTypeReplacement = false) {
846+
bool createCloneFromMap(
847+
llvm::Module *M, StringRef OriginalName,
848+
const itanium_demangle::Node *FunctionTree,
849+
const SmallDenseMap<const char *, const char *> &TypeReplacements,
850+
bool CloneeTypeReplacement = false) {
849851
Remangler ATR{ASTCtx, FunctionTree, TypeReplacements};
850852

851853
std::string const RemangledName = ATR.remangle();

0 commit comments

Comments
 (0)