summaryrefslogtreecommitdiff
path: root/tools/llvm-ar
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvm-ar')
-rw-r--r--tools/llvm-ar/llvm-ar.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp
index fdcc9e6404..8bc9e048da 100644
--- a/tools/llvm-ar/llvm-ar.cpp
+++ b/tools/llvm-ar/llvm-ar.cpp
@@ -484,7 +484,9 @@ void doDelete() {
}
// We're done editting, reconstruct the archive.
- TheArchive->writeToDisk(SymTable,TruncateNames,Compression);
+ std::string errmsg;
+ if (!TheArchive->writeToDisk(SymTable,TruncateNames,Compression,&errmsg))
+ throw errmsg;
if (ReallyVerbose)
printSymbolTable();
}
@@ -536,7 +538,9 @@ void doMove() {
}
// We're done editting, reconstruct the archive.
- TheArchive->writeToDisk(SymTable,TruncateNames,Compression);
+ std::string errmsg;
+ if (!TheArchive->writeToDisk(SymTable,TruncateNames,Compression,&errmsg))
+ throw errmsg;
if (ReallyVerbose)
printSymbolTable();
}
@@ -555,7 +559,9 @@ void doQuickAppend() {
}
// We're done editting, reconstruct the archive.
- TheArchive->writeToDisk(SymTable,TruncateNames,Compression);
+ std::string errmsg;
+ if (!TheArchive->writeToDisk(SymTable,TruncateNames,Compression,&errmsg))
+ throw errmsg;
if (ReallyVerbose)
printSymbolTable();
}
@@ -642,7 +648,9 @@ void doReplaceOrInsert() {
}
// We're done editting, reconstruct the archive.
- TheArchive->writeToDisk(SymTable,TruncateNames,Compression);
+ std::string errmsg;
+ if (!TheArchive->writeToDisk(SymTable,TruncateNames,Compression,&errmsg))
+ throw errmsg;
if (ReallyVerbose)
printSymbolTable();
}