projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add methods to StringMap to erase entries by key.
[oota-llvm.git]
/
lib
/
Archive
/
ArchiveReader.cpp
diff --git
a/lib/Archive/ArchiveReader.cpp
b/lib/Archive/ArchiveReader.cpp
index 368bd323a6ccd09fa0d77630ca5635dbc3d0251d..1ded9e5c4cc0692d9d1b6c56e0bf869b1fedd2be 100644
(file)
--- a/
lib/Archive/ArchiveReader.cpp
+++ b/
lib/Archive/ArchiveReader.cpp
@@
-19,7
+19,7
@@
using namespace llvm;
/// Read a variable-bit-rate encoded unsigned integer
using namespace llvm;
/// Read a variable-bit-rate encoded unsigned integer
-
inline unsigned readInteger(const char*&At, const char*End)
{
+
static inline unsigned readInteger(const char*&At, const char*End)
{
unsigned Shift = 0;
unsigned Result = 0;
unsigned Shift = 0;
unsigned Result = 0;
@@
-238,7
+238,7
@@
Archive::parseMemberHeader(const char*& At, const char* End, std::string* error)
bool
Archive::checkSignature(std::string* error) {
// Check the magic string at file's header
bool
Archive::checkSignature(std::string* error) {
// Check the magic string at file's header
- if (mapfile->
s
ize() < 8 || memcmp(base, ARFILE_MAGIC, 8)) {
+ if (mapfile->
getBufferS
ize() < 8 || memcmp(base, ARFILE_MAGIC, 8)) {
if (error)
*error = "invalid signature for an archive file";
return false;
if (error)
*error = "invalid signature for an archive file";
return false;
@@
-256,7
+256,7
@@
Archive::loadArchive(std::string* error) {
members.clear();
symTab.clear();
const char *At = base;
members.clear();
symTab.clear();
const char *At = base;
- const char *End =
base + mapfile->size
();
+ const char *End =
mapfile->getBufferEnd
();
if (!checkSignature(error))
return false;
if (!checkSignature(error))
return false;
@@
-369,7
+369,7
@@
Archive::loadSymbolTable(std::string* ErrorMsg) {
members.clear();
symTab.clear();
const char *At = base;
members.clear();
symTab.clear();
const char *At = base;
- const char *End =
base + mapfile->size
();
+ const char *End =
mapfile->getBufferEnd
();
// Make sure we're dealing with an archive
if (!checkSignature(ErrorMsg))
// Make sure we're dealing with an archive
if (!checkSignature(ErrorMsg))
@@
-477,7
+477,8
@@
Archive::findModuleDefiningSymbol(const std::string& symbol,
// Module hasn't been loaded yet, we need to load it
const char* modptr = base + fileOffset;
// Module hasn't been loaded yet, we need to load it
const char* modptr = base + fileOffset;
- ArchiveMember* mbr = parseMemberHeader(modptr, base + mapfile->size(),ErrMsg);
+ ArchiveMember* mbr = parseMemberHeader(modptr, mapfile->getBufferEnd(),
+ ErrMsg);
if (!mbr)
return 0;
if (!mbr)
return 0;
@@
-516,8
+517,8
@@
Archive::findModulesDefiningSymbols(std::set<std::string>& symbols,
// below.
// Get a pointer to the first file
// below.
// Get a pointer to the first file
- const char* At =
((const char*)base)
+ firstFileOffset;
- const char* End =
((const char*)base) + mapfile->size
();
+ const char* At =
base
+ firstFileOffset;
+ const char* End =
mapfile->getBufferEnd
();
while ( At < End) {
// Compute the offset to be put in the symbol table
while ( At < End) {
// Compute the offset to be put in the symbol table