From 75f20532ec768308767328a1234cbea38d115e6a Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 22 Apr 2003 18:02:52 +0000 Subject: Preserve module source information in the ModuleID git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5836 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Archive/ArchiveReader.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'lib/Archive') diff --git a/lib/Archive/ArchiveReader.cpp b/lib/Archive/ArchiveReader.cpp index b6c3895..afa2c63 100644 --- a/lib/Archive/ArchiveReader.cpp +++ b/lib/Archive/ArchiveReader.cpp @@ -82,7 +82,8 @@ static bool ParseLongFilenameSection(unsigned char *Buffer, unsigned Size, } -static bool ReadArchiveBuffer(unsigned char *Buffer, unsigned Length, +static bool ReadArchiveBuffer(const std::string &Filename, + unsigned char *Buffer, unsigned Length, std::vector &Objects, std::string *ErrorStr) { if (Length < 8 || memcmp(Buffer, "!\n", 8)) @@ -107,7 +108,8 @@ static bool ReadArchiveBuffer(unsigned char *Buffer, unsigned Length, return true; break; case UserObject: { - Module *M = ParseBytecodeBuffer(Buffer+sizeof(ar_hdr), Size, ErrorStr); + Module *M = ParseBytecodeBuffer(Buffer+sizeof(ar_hdr), Size, + Filename+":somefile", ErrorStr); if (!M) return true; Objects.push_back(M); break; @@ -151,7 +153,7 @@ bool ReadArchiveFile(const std::string &Filename, std::vector &Objects, return Error(ErrorStr, "Error mmapping file!"); // Parse the archive files we mmap'ped in - bool Result = ReadArchiveBuffer(Buffer, Length, Objects, ErrorStr); + bool Result = ReadArchiveBuffer(Filename, Buffer, Length, Objects, ErrorStr); // Unmmap the archive... munmap((char*)Buffer, Length); -- cgit v1.1