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
This commit is contained in:
John Criswell 2003-12-22 16:22:49 +00:00
parent 056063e264
commit 9059158b56
3 changed files with 9 additions and 36 deletions

View File

@ -122,17 +122,8 @@ static bool ReadArchiveBuffer(const std::string &ArchiveName,
while (endp[-1] == ' ') while (endp[-1] == ' ')
--endp; --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 MemberName (startp, endp);
std::string * FullMemberName; std::string FullMemberName = ArchiveName + "(" + MemberName + ")";
FullMemberName = new std::string (ArchiveName + "(" + MemberName + ")");
switch (getObjectType(Hdr, MemberData, MemberSize)) { switch (getObjectType(Hdr, MemberData, MemberSize)) {
case SVR4LongFilename: case SVR4LongFilename:
@ -142,7 +133,7 @@ static bool ReadArchiveBuffer(const std::string &ArchiveName,
break; break;
case UserObject: { case UserObject: {
Module *M = ParseBytecodeBuffer(MemberData, MemberSize, Module *M = ParseBytecodeBuffer(MemberData, MemberSize,
*(FullMemberName), ErrorStr); FullMemberName, ErrorStr);
if (!M) return true; if (!M) return true;
Objects.push_back(M); Objects.push_back(M);
break; break;
@ -153,7 +144,7 @@ static bool ReadArchiveBuffer(const std::string &ArchiveName,
break; break;
default: default:
std::cerr << "ReadArchiveBuffer: WARNING: Skipping unknown file: " std::cerr << "ReadArchiveBuffer: WARNING: Skipping unknown file: "
<< *(FullMemberName) << "\n"; << FullMemberName << "\n";
break; // Just ignore unknown files. break; // Just ignore unknown files.
} }

View File

@ -122,17 +122,8 @@ static bool ReadArchiveBuffer(const std::string &ArchiveName,
while (endp[-1] == ' ') while (endp[-1] == ' ')
--endp; --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 MemberName (startp, endp);
std::string * FullMemberName; std::string FullMemberName = ArchiveName + "(" + MemberName + ")";
FullMemberName = new std::string (ArchiveName + "(" + MemberName + ")");
switch (getObjectType(Hdr, MemberData, MemberSize)) { switch (getObjectType(Hdr, MemberData, MemberSize)) {
case SVR4LongFilename: case SVR4LongFilename:
@ -142,7 +133,7 @@ static bool ReadArchiveBuffer(const std::string &ArchiveName,
break; break;
case UserObject: { case UserObject: {
Module *M = ParseBytecodeBuffer(MemberData, MemberSize, Module *M = ParseBytecodeBuffer(MemberData, MemberSize,
*(FullMemberName), ErrorStr); FullMemberName, ErrorStr);
if (!M) return true; if (!M) return true;
Objects.push_back(M); Objects.push_back(M);
break; break;
@ -153,7 +144,7 @@ static bool ReadArchiveBuffer(const std::string &ArchiveName,
break; break;
default: default:
std::cerr << "ReadArchiveBuffer: WARNING: Skipping unknown file: " std::cerr << "ReadArchiveBuffer: WARNING: Skipping unknown file: "
<< *(FullMemberName) << "\n"; << FullMemberName << "\n";
break; // Just ignore unknown files. break; // Just ignore unknown files.
} }

View File

@ -122,17 +122,8 @@ static bool ReadArchiveBuffer(const std::string &ArchiveName,
while (endp[-1] == ' ') while (endp[-1] == ' ')
--endp; --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 MemberName (startp, endp);
std::string * FullMemberName; std::string FullMemberName = ArchiveName + "(" + MemberName + ")";
FullMemberName = new std::string (ArchiveName + "(" + MemberName + ")");
switch (getObjectType(Hdr, MemberData, MemberSize)) { switch (getObjectType(Hdr, MemberData, MemberSize)) {
case SVR4LongFilename: case SVR4LongFilename:
@ -142,7 +133,7 @@ static bool ReadArchiveBuffer(const std::string &ArchiveName,
break; break;
case UserObject: { case UserObject: {
Module *M = ParseBytecodeBuffer(MemberData, MemberSize, Module *M = ParseBytecodeBuffer(MemberData, MemberSize,
*(FullMemberName), ErrorStr); FullMemberName, ErrorStr);
if (!M) return true; if (!M) return true;
Objects.push_back(M); Objects.push_back(M);
break; break;
@ -153,7 +144,7 @@ static bool ReadArchiveBuffer(const std::string &ArchiveName,
break; break;
default: default:
std::cerr << "ReadArchiveBuffer: WARNING: Skipping unknown file: " std::cerr << "ReadArchiveBuffer: WARNING: Skipping unknown file: "
<< *(FullMemberName) << "\n"; << FullMemberName << "\n";
break; // Just ignore unknown files. break; // Just ignore unknown files.
} }