[lld] r231033 - Make ArchiveLibraryFile::~ArchiveLibraryFile virtual.
Rui Ueyama
ruiu at google.com
Mon Mar 2 15:03:33 PST 2015
Author: ruiu
Date: Mon Mar 2 17:03:33 2015
New Revision: 231033
URL: http://llvm.org/viewvc/llvm-project?rev=231033&view=rev
Log:
Make ArchiveLibraryFile::~ArchiveLibraryFile virtual.
"virtual" was present at a wrong place. FileArchive is a subclass of
ArchiveLibraryFile, and a FileArchive can be deleted through a
pointer of ArchiveLibraryFile. We want to make the destructor of the
base class virtual.
Modified:
lld/trunk/include/lld/Core/ArchiveLibraryFile.h
lld/trunk/lib/ReaderWriter/FileArchive.cpp
Modified: lld/trunk/include/lld/Core/ArchiveLibraryFile.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/Core/ArchiveLibraryFile.h?rev=231033&r1=231032&r2=231033&view=diff
==============================================================================
--- lld/trunk/include/lld/Core/ArchiveLibraryFile.h (original)
+++ lld/trunk/include/lld/Core/ArchiveLibraryFile.h Mon Mar 2 17:03:33 2015
@@ -50,6 +50,8 @@ public:
return std::set<StringRef>();
}
+ virtual ~ArchiveLibraryFile() {}
+
protected:
/// only subclasses of ArchiveLibraryFile can be instantiated
ArchiveLibraryFile(StringRef path) : File(path, kindArchiveLibrary) {}
Modified: lld/trunk/lib/ReaderWriter/FileArchive.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/FileArchive.cpp?rev=231033&r1=231032&r2=231033&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/FileArchive.cpp (original)
+++ lld/trunk/lib/ReaderWriter/FileArchive.cpp Mon Mar 2 17:03:33 2015
@@ -41,8 +41,6 @@ public:
: ArchiveLibraryFile(path), _mb(std::shared_ptr<MemoryBuffer>(mb.release())),
_registry(reg), _logLoading(logLoading) {}
- virtual ~FileArchive() {}
-
/// \brief Check if any member of the archive contains an Atom with the
/// specified name and return the File object for that member, or nullptr.
const File *find(StringRef name, bool dataSymbolOnly) const override {
More information about the llvm-commits
mailing list