mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
For PR797:
Remove exception handling from the bytecode archiver and adjust the llvm-ar tool to accommodate the new interfaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29866 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -586,7 +586,8 @@ doQuickAppend(std::string* ErrMsg) {
|
||||
// Append them quickly.
|
||||
for (std::set<sys::Path>::iterator PI = Paths.begin(), PE = Paths.end();
|
||||
PI != PE; ++PI) {
|
||||
TheArchive->addFileBefore(*PI,TheArchive->end());
|
||||
if (TheArchive->addFileBefore(*PI,TheArchive->end(),ErrMsg))
|
||||
return true;
|
||||
}
|
||||
|
||||
// We're done editting, reconstruct the archive.
|
||||
@@ -647,15 +648,17 @@ doReplaceOrInsert(std::string* ErrMsg) {
|
||||
sys::FileStatus si;
|
||||
std::string Err;
|
||||
if (found->getFileStatus(si, &Err))
|
||||
throw Err;
|
||||
return true;
|
||||
if (si.isDir) {
|
||||
if (OnlyUpdate) {
|
||||
// Replace the item only if it is newer.
|
||||
if (si.modTime > I->getModTime())
|
||||
I->replaceWith(*found);
|
||||
if (I->replaceWith(*found, ErrMsg))
|
||||
return true;
|
||||
} else {
|
||||
// Replace the item regardless of time stamp
|
||||
I->replaceWith(*found);
|
||||
if (I->replaceWith(*found, ErrMsg))
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
// We purposefully ignore directories.
|
||||
@@ -679,7 +682,8 @@ doReplaceOrInsert(std::string* ErrMsg) {
|
||||
if (!remaining.empty()) {
|
||||
for (std::set<sys::Path>::iterator PI = remaining.begin(),
|
||||
PE = remaining.end(); PI != PE; ++PI) {
|
||||
TheArchive->addFileBefore(*PI,insert_spot);
|
||||
if (TheArchive->addFileBefore(*PI,insert_spot, ErrMsg))
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user