[llvm-commits] CVS: llvm/include/llvm/Bytecode/Archive.h

Reid Spencer reid at x10sys.com
Fri Jul 7 12:09:29 PDT 2006



Changes in directory llvm/include/llvm/Bytecode:

Archive.h updated: 1.14 -> 1.15
---
Log message:

Remove EH use from the Archive library and adjust its users accordingly.


---
Diffs of the changes:  (+18 -6)

 Archive.h |   24 ++++++++++++++++++------
 1 files changed, 18 insertions(+), 6 deletions(-)


Index: llvm/include/llvm/Bytecode/Archive.h
diff -u llvm/include/llvm/Bytecode/Archive.h:1.14 llvm/include/llvm/Bytecode/Archive.h:1.15
--- llvm/include/llvm/Bytecode/Archive.h:1.14	Wed Feb 22 10:23:42 2006
+++ llvm/include/llvm/Bytecode/Archive.h	Fri Jul  7 14:09:13 2006
@@ -438,12 +438,14 @@
     /// name will be truncated at 15 characters. If \p Compress is specified,
     /// all archive members will be compressed before being written. If
     /// \p PrintSymTab is true, the symbol table will be printed to std::cout.
-    /// @throws std::string if an error occurs
+    /// @returns false if an error occurred, \p error set to error message
+    /// @returns true if the writing succeeded.
     /// @brief Write (possibly modified) archive contents to disk
-    void writeToDisk(
+    bool writeToDisk(
       bool CreateSymbolTable=false,   ///< Create Symbol table
       bool TruncateNames=false,       ///< Truncate the filename to 15 chars
-      bool Compress=false             ///< Compress files
+      bool Compress=false,            ///< Compress files
+      std::string* error = 0          ///< If non-null, where error msg is set
     );
 
     /// This method adds a new file to the archive. The \p filename is examined
@@ -481,9 +483,19 @@
     /// @brief Write the symbol table to an ofstream.
     void writeSymbolTable(std::ofstream& ARFile);
 
-    /// @brief Write one ArchiveMember to an ofstream.
-    void writeMember(const ArchiveMember& member, std::ofstream& ARFile,
-        bool CreateSymbolTable, bool TruncateNames, bool ShouldCompress);
+    /// Writes one ArchiveMember to an ofstream. If an error occurs, returns
+    /// false, otherwise true. If an error occurs and error is non-null then 
+    /// it will be set to an error message.
+    /// @returns true Writing member succeeded
+    /// @returns false Writing member failed, \p error set to error message
+    bool writeMember(
+      const ArchiveMember& member, ///< The member to be written
+      std::ofstream& ARFile,       ///< The file to write member onto
+      bool CreateSymbolTable,      ///< Should symbol table be created?
+      bool TruncateNames,          ///< Should names be truncated to 11 chars?
+      bool ShouldCompress,         ///< Should the member be compressed?
+      std::string* error = 0       ///< If non-null, place were error msg is set
+    );
 
     /// @brief Fill in an ArchiveMemberHeader from ArchiveMember.
     bool fillHeader(const ArchiveMember&mbr,






More information about the llvm-commits mailing list