Changes in directory llvm/include/llvm/Bytecode:
Archive.h updated: 1.17 -> 1.18 --- Log message: For PR797: http://llvm.org/PR797 : Remove exception handling from the bytecode archiver and adjust the llvm-ar tool to accommodate the new interfaces. --- Diffs of the changes: (+17 -9) Archive.h | 26 +++++++++++++++++--------- 1 files changed, 17 insertions(+), 9 deletions(-) Index: llvm/include/llvm/Bytecode/Archive.h diff -u llvm/include/llvm/Bytecode/Archive.h:1.17 llvm/include/llvm/Bytecode/Archive.h:1.18 --- llvm/include/llvm/Bytecode/Archive.h:1.17 Fri Jul 28 17:03:43 2006 +++ llvm/include/llvm/Bytecode/Archive.h Thu Aug 24 18:45:08 2006 @@ -167,8 +167,9 @@ /// of the file specified by \p File. The contents of \p this will be /// updated to reflect the new data from \p File. The \p File must exist and /// be readable on entry to this method. + /// @returns true if an error occurred, false otherwise /// @brief Replace contents of archive member with a new file. - void replaceWith(const sys::Path &aFile); + bool replaceWith(const sys::Path &aFile, std::string* ErrMsg); /// @} /// @name ilist methods - do not use @@ -439,8 +440,8 @@ /// 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. - /// @returns false if an error occurred, \p error set to error message - /// @returns true if the writing succeeded. + /// @returns true if an error occurred, \p error set to error message + /// @returns false if the writing succeeded. /// @brief Write (possibly modified) archive contents to disk bool writeToDisk( bool CreateSymbolTable=false, ///< Create Symbol table @@ -453,10 +454,13 @@ /// to determine just enough information to create an ArchiveMember object /// which is then inserted into the Archive object's ilist at the location /// given by \p where. - /// @throws std::string if an error occurs reading the \p filename. - /// @returns nothing + /// @returns true if an error occured, false otherwise /// @brief Add a file to the archive. - void addFileBefore(const sys::Path& filename, iterator where); + bool addFileBefore( + const sys::Path& filename, ///< The file to be added + iterator where, ///< Insertion point + std::string* ErrMsg ///< Optional error message location + ); /// @} /// @name Implementation @@ -464,7 +468,7 @@ protected: /// @brief Construct an Archive for \p filename and optionally map it /// into memory. - Archive(const sys::Path& filename, bool map = false ); + Archive(const sys::Path& filename); /// @param error Set to address of a std::string to get error messages /// @returns false on error @@ -500,8 +504,8 @@ /// 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 + /// @returns false Writing member succeeded + /// @returns true 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 @@ -515,6 +519,9 @@ bool fillHeader(const ArchiveMember&mbr, ArchiveMemberHeader& hdr,int sz, bool TruncateNames) const; + /// @brief Maps archive into memory + bool mapToMemory(std::string* ErrMsg); + /// @brief Frees all the members and unmaps the archive file. void cleanUpMemory(); @@ -525,6 +532,7 @@ typedef std::map<unsigned,std::pair<ModuleProvider*,ArchiveMember*> > ModuleMap; + /// @} /// @name Data /// @{ _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits