summaryrefslogtreecommitdiff
path: root/lib/Archive
diff options
context:
space:
mode:
authorJohn Criswell <criswell@uiuc.edu>2003-12-22 16:22:49 +0000
committerJohn Criswell <criswell@uiuc.edu>2003-12-22 16:22:49 +0000
commit9059158b5613f9d87d2571ea67cef83d5f879106 (patch)
tree2d10491d0ec93ff4dd2f75ee06d2cfc9b3f76102 /lib/Archive
parent056063e2645d86b11a441abfff4bfd96dc4edf8c (diff)
Reverted back to revision 1.11. The previous fix doesn't really fix
anything; it just causes the bug to go dormant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10585 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Archive')
-rw-r--r--lib/Archive/ArchiveReader.cpp15
1 files changed, 3 insertions, 12 deletions
diff --git a/lib/Archive/ArchiveReader.cpp b/lib/Archive/ArchiveReader.cpp
index 1baaff289e3..b147cb3344e 100644
--- a/lib/Archive/ArchiveReader.cpp
+++ b/lib/Archive/ArchiveReader.cpp
@@ -122,17 +122,8 @@ static bool ReadArchiveBuffer(const std::string &ArchiveName,
while (endp[-1] == ' ')
--endp;
}
-
- //
- // We now have the beginning and the end of the object name.
- // Convert this into a dynamically allocated std::string to pass
- // to the routines that create the Module object. We do this
- // (I think) because the created Module object will outlive this function,
- // but statically declared std::string's won't.
- //
std::string MemberName (startp, endp);
- std::string * FullMemberName;
- FullMemberName = new std::string (ArchiveName + "(" + MemberName + ")");
+ std::string FullMemberName = ArchiveName + "(" + MemberName + ")";
switch (getObjectType(Hdr, MemberData, MemberSize)) {
case SVR4LongFilename:
@@ -142,7 +133,7 @@ static bool ReadArchiveBuffer(const std::string &ArchiveName,
break;
case UserObject: {
Module *M = ParseBytecodeBuffer(MemberData, MemberSize,
- *(FullMemberName), ErrorStr);
+ FullMemberName, ErrorStr);
if (!M) return true;
Objects.push_back(M);
break;
@@ -153,7 +144,7 @@ static bool ReadArchiveBuffer(const std::string &ArchiveName,
break;
default:
std::cerr << "ReadArchiveBuffer: WARNING: Skipping unknown file: "
- << *(FullMemberName) << "\n";
+ << FullMemberName << "\n";
break; // Just ignore unknown files.
}