mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
For PR1050:
Convert asserts into error messages. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32607 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c2ff962bf9
commit
cd5561a56e
@ -62,7 +62,12 @@ ArchiveMember::ArchiveMember(Archive* PAR)
|
||||
// different file, presumably as an update to the member. It also makes sure
|
||||
// the flags are reset correctly.
|
||||
bool ArchiveMember::replaceWith(const sys::Path& newFile, std::string* ErrMsg) {
|
||||
assert(newFile.exists() && "Can't replace with a non-existent file");
|
||||
if (!newFile.exists()) {
|
||||
if (ErrMsg)
|
||||
*ErrMsg = "Can not replace an archive member with a non-existent file";
|
||||
return true;
|
||||
}
|
||||
|
||||
data = 0;
|
||||
path = newFile;
|
||||
|
||||
|
@ -68,7 +68,11 @@ Archive::parseSymbolTable(const void* data, unsigned size, std::string* error) {
|
||||
ArchiveMember*
|
||||
Archive::parseMemberHeader(const char*& At, const char* End, std::string* error)
|
||||
{
|
||||
assert(At + sizeof(ArchiveMemberHeader) < End && "Not enough data");
|
||||
if (At + sizeof(ArchiveMemberHeader) >= End) {
|
||||
if (error)
|
||||
*error = "Unexpected end of file";
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Cast archive member header
|
||||
ArchiveMemberHeader* Hdr = (ArchiveMemberHeader*)At;
|
||||
@ -498,7 +502,12 @@ Archive::findModulesDefiningSymbols(std::set<std::string>& symbols,
|
||||
std::set<ModuleProvider*>& result,
|
||||
std::string* error)
|
||||
{
|
||||
assert(mapfile && base && "Can't findModulesDefiningSymbols on new archive");
|
||||
if (!mapfile || !base) {
|
||||
if (error)
|
||||
*error = "Empty archive invalid for finding modules defining symbols";
|
||||
return false;
|
||||
}
|
||||
|
||||
if (symTab.empty()) {
|
||||
// We don't have a symbol table, so we must build it now but lets also
|
||||
// make sure that we populate the modules table as we do this to ensure
|
||||
|
@ -153,7 +153,11 @@ Archive::fillHeader(const ArchiveMember &mbr, ArchiveMemberHeader& hdr,
|
||||
bool
|
||||
Archive::addFileBefore(const sys::Path& filePath, iterator where,
|
||||
std::string* ErrMsg) {
|
||||
assert(filePath.exists() && "Can't add a non-existent file");
|
||||
if (!filePath.exists()) {
|
||||
if (ErrMsg)
|
||||
*ErrMsg = "Can not add a non-existent file to archive";
|
||||
return true;
|
||||
}
|
||||
|
||||
ArchiveMember* mbr = new ArchiveMember(this);
|
||||
|
||||
@ -385,8 +389,11 @@ Archive::writeToDisk(bool CreateSymbolTable, bool TruncateNames, bool Compress,
|
||||
{
|
||||
// Make sure they haven't opened up the file, not loaded it,
|
||||
// but are now trying to write it which would wipe out the file.
|
||||
assert(!(members.empty() && mapfile->size() > 8) &&
|
||||
"Can't write an archive not opened for writing");
|
||||
if (members.empty() && mapfile->size() > 8) {
|
||||
if (ErrMsg)
|
||||
*ErrMsg = "Can't write an archive not opened for writing";
|
||||
return true;
|
||||
}
|
||||
|
||||
// Create a temporary file to store the archive in
|
||||
sys::Path TmpArchive = archPath;
|
||||
|
@ -62,7 +62,12 @@ ArchiveMember::ArchiveMember(Archive* PAR)
|
||||
// different file, presumably as an update to the member. It also makes sure
|
||||
// the flags are reset correctly.
|
||||
bool ArchiveMember::replaceWith(const sys::Path& newFile, std::string* ErrMsg) {
|
||||
assert(newFile.exists() && "Can't replace with a non-existent file");
|
||||
if (!newFile.exists()) {
|
||||
if (ErrMsg)
|
||||
*ErrMsg = "Can not replace an archive member with a non-existent file";
|
||||
return true;
|
||||
}
|
||||
|
||||
data = 0;
|
||||
path = newFile;
|
||||
|
||||
|
@ -68,7 +68,11 @@ Archive::parseSymbolTable(const void* data, unsigned size, std::string* error) {
|
||||
ArchiveMember*
|
||||
Archive::parseMemberHeader(const char*& At, const char* End, std::string* error)
|
||||
{
|
||||
assert(At + sizeof(ArchiveMemberHeader) < End && "Not enough data");
|
||||
if (At + sizeof(ArchiveMemberHeader) >= End) {
|
||||
if (error)
|
||||
*error = "Unexpected end of file";
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Cast archive member header
|
||||
ArchiveMemberHeader* Hdr = (ArchiveMemberHeader*)At;
|
||||
@ -498,7 +502,12 @@ Archive::findModulesDefiningSymbols(std::set<std::string>& symbols,
|
||||
std::set<ModuleProvider*>& result,
|
||||
std::string* error)
|
||||
{
|
||||
assert(mapfile && base && "Can't findModulesDefiningSymbols on new archive");
|
||||
if (!mapfile || !base) {
|
||||
if (error)
|
||||
*error = "Empty archive invalid for finding modules defining symbols";
|
||||
return false;
|
||||
}
|
||||
|
||||
if (symTab.empty()) {
|
||||
// We don't have a symbol table, so we must build it now but lets also
|
||||
// make sure that we populate the modules table as we do this to ensure
|
||||
|
@ -153,7 +153,11 @@ Archive::fillHeader(const ArchiveMember &mbr, ArchiveMemberHeader& hdr,
|
||||
bool
|
||||
Archive::addFileBefore(const sys::Path& filePath, iterator where,
|
||||
std::string* ErrMsg) {
|
||||
assert(filePath.exists() && "Can't add a non-existent file");
|
||||
if (!filePath.exists()) {
|
||||
if (ErrMsg)
|
||||
*ErrMsg = "Can not add a non-existent file to archive";
|
||||
return true;
|
||||
}
|
||||
|
||||
ArchiveMember* mbr = new ArchiveMember(this);
|
||||
|
||||
@ -385,8 +389,11 @@ Archive::writeToDisk(bool CreateSymbolTable, bool TruncateNames, bool Compress,
|
||||
{
|
||||
// Make sure they haven't opened up the file, not loaded it,
|
||||
// but are now trying to write it which would wipe out the file.
|
||||
assert(!(members.empty() && mapfile->size() > 8) &&
|
||||
"Can't write an archive not opened for writing");
|
||||
if (members.empty() && mapfile->size() > 8) {
|
||||
if (ErrMsg)
|
||||
*ErrMsg = "Can't write an archive not opened for writing";
|
||||
return true;
|
||||
}
|
||||
|
||||
// Create a temporary file to store the archive in
|
||||
sys::Path TmpArchive = archPath;
|
||||
|
Loading…
Reference in New Issue
Block a user