[llvm-commits] CVS: llvm/include/llvm/Bytecode/Archive.h
Reid Spencer
reid at x10sys.com
Fri Nov 5 10:48:13 PST 2004
Changes in directory llvm/include/llvm/Bytecode:
Archive.h updated: 1.2 -> 1.3
---
Log message:
Go ahead and trust the client not to mess with the ModuleProvider* returned
by the findModuleContainingSymbol method.
---
Diffs of the changes: (+11 -6)
Index: llvm/include/llvm/Bytecode/Archive.h
diff -u llvm/include/llvm/Bytecode/Archive.h:1.2 llvm/include/llvm/Bytecode/Archive.h:1.3
--- llvm/include/llvm/Bytecode/Archive.h:1.2 Fri Nov 5 11:44:26 2004
+++ llvm/include/llvm/Bytecode/Archive.h Fri Nov 5 12:48:02 2004
@@ -135,16 +135,15 @@
/// returns the associated module that defines that symbol. This method can
/// be called as many times as necessary. This is handy for linking the
/// archive into another module based on unresolved symbols. Note that the
- /// ModuleProvider returned by this accessor is constant and it may refer
- /// to the same ModuleProvider object returned by this accessor in a
- /// previous call (because the associated module defines both symbols). To
- /// use the returned ModuleProvider* you must make a copy and call the
- /// materializeModule method on the copy.
+ /// ModuleProvider returned by this accessor should not be deleted by the
+ /// caller. It is managed internally by the Archive class. It is possible
+ /// that multiple calls to this accessor will return the same ModuleProvider
+ /// instance because the associated module defines multiple symbols.
/// @throws std::string if an error occurs
/// @returns The ModuleProvider* found or null if the archive does not
/// contain a module that defines the \p symbol.
/// @brief Look up a module by symbol name.
- const ModuleProvider* findModuleContainingSymbol(
+ ModuleProvider* findModuleContainingSymbol(
const std::string& symbol ///< Symbol to be sought
) const;
@@ -245,6 +244,12 @@
);
/// @}
+ /// @name Data
+ /// @{
+ private:
+ class ArchiveInternals;
+ ArchiveInternals* impl; ///< Implementation class
+ /// @}
};
} // End llvm namespace
More information about the llvm-commits
mailing list