diff options
author | Chris Lattner <sabre@nondot.org> | 2003-04-22 18:02:52 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-04-22 18:02:52 +0000 |
commit | b672b5607f852a3351ac785ca41a43af8dd4b742 (patch) | |
tree | 076ca763f454d040f0af3ba8fb0d48dff4cbbd38 /llvm/lib/Bytecode/Reader/ArchiveReader.cpp | |
parent | d36ad926f228d4650e27cec12fe80fe7327c5be7 (diff) | |
download | bcm5719-llvm-b672b5607f852a3351ac785ca41a43af8dd4b742.tar.gz bcm5719-llvm-b672b5607f852a3351ac785ca41a43af8dd4b742.zip |
Preserve module source information in the ModuleID
llvm-svn: 5836
Diffstat (limited to 'llvm/lib/Bytecode/Reader/ArchiveReader.cpp')
-rw-r--r-- | llvm/lib/Bytecode/Reader/ArchiveReader.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/Bytecode/Reader/ArchiveReader.cpp b/llvm/lib/Bytecode/Reader/ArchiveReader.cpp index b6c389523f4..afa2c63d050 100644 --- a/llvm/lib/Bytecode/Reader/ArchiveReader.cpp +++ b/llvm/lib/Bytecode/Reader/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<Module*> &Objects, std::string *ErrorStr) { if (Length < 8 || memcmp(Buffer, "!<arch>\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<Module*> &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); |