summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bytecode/Reader/ArchiveReader.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-04-22 18:02:52 +0000
committerChris Lattner <sabre@nondot.org>2003-04-22 18:02:52 +0000
commitb672b5607f852a3351ac785ca41a43af8dd4b742 (patch)
tree076ca763f454d040f0af3ba8fb0d48dff4cbbd38 /llvm/lib/Bytecode/Reader/ArchiveReader.cpp
parentd36ad926f228d4650e27cec12fe80fe7327c5be7 (diff)
downloadbcm5719-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.cpp8
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);
OpenPOWER on IntegriCloud