diff options
Diffstat (limited to 'tools/llvm-ar')
-rw-r--r-- | tools/llvm-ar/llvm-ar.cpp | 16 |
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(); } |