diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2016-10-17 18:51:27 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2016-10-17 18:51:27 +0000 |
commit | b18783e441a2b33bc2ce88c6bd41709f083ac2ea (patch) | |
tree | a01c04dedfb848c9e257cb37fdb3a9fa879593bb | |
parent | 62382c930d2fb403d1876bb8d0a8c50665dce704 (diff) | |
download | bcm5719-llvm-b18783e441a2b33bc2ce88c6bd41709f083ac2ea.tar.gz bcm5719-llvm-b18783e441a2b33bc2ce88c6bd41709f083ac2ea.zip |
Update for llvm change.
llvm-svn: 284409
-rw-r--r-- | lld/ELF/InputFiles.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp index a5f9b909f11..9c88d5f3fd9 100644 --- a/lld/ELF/InputFiles.cpp +++ b/lld/ELF/InputFiles.cpp @@ -693,7 +693,7 @@ static uint8_t mapVisibility(GlobalValue::VisibilityTypes GvVisibility) { } template <class ELFT> -static Symbol *createBitcodeSymbol(const DenseSet<const Comdat *> &KeptComdats, +static Symbol *createBitcodeSymbol(const DenseSet<StringRef> &KeptComdats, const lto::InputFile::Symbol &ObjSym, StringSaver &Saver, BitcodeFile *F) { StringRef NameRef = Saver.save(ObjSym.getName()); @@ -704,10 +704,10 @@ static Symbol *createBitcodeSymbol(const DenseSet<const Comdat *> &KeptComdats, uint8_t Visibility = mapVisibility(ObjSym.getVisibility()); bool CanOmitFromDynSym = ObjSym.canBeOmittedFromSymbolTable(); - if (const Comdat *C = check(ObjSym.getComdat())) - if (!KeptComdats.count(C)) - return Symtab<ELFT>::X->addUndefined(NameRef, Binding, Visibility, Type, - CanOmitFromDynSym, F); + StringRef C = check(ObjSym.getComdat()); + if (!C.empty() && !KeptComdats.count(C)) + return Symtab<ELFT>::X->addUndefined(NameRef, Binding, Visibility, Type, + CanOmitFromDynSym, F); if (Flags & BasicSymbolRef::SF_Undefined) return Symtab<ELFT>::X->addUndefined(NameRef, Binding, Visibility, Type, @@ -736,11 +736,11 @@ void BitcodeFile::parse(DenseSet<StringRef> &ComdatGroups) { Obj = check(lto::InputFile::create(MemoryBufferRef( MB.getBuffer(), Saver.save(ArchiveName + MB.getBufferIdentifier() + utostr(OffsetInArchive))))); - DenseSet<const Comdat *> KeptComdats; + DenseSet<StringRef> KeptComdats; for (const auto &P : Obj->getComdatSymbolTable()) { StringRef N = Saver.save(P.first()); if (ComdatGroups.insert(N).second) - KeptComdats.insert(&P.second); + KeptComdats.insert(N); } for (const lto::InputFile::Symbol &ObjSym : Obj->symbols()) |