aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Object/SymbolicFile.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Object/SymbolicFile.h')
-rw-r--r--include/llvm/Object/SymbolicFile.h36
1 files changed, 18 insertions, 18 deletions
diff --git a/include/llvm/Object/SymbolicFile.h b/include/llvm/Object/SymbolicFile.h
index 28400e1..77eef4a 100644
--- a/include/llvm/Object/SymbolicFile.h
+++ b/include/llvm/Object/SymbolicFile.h
@@ -86,7 +86,8 @@ public:
SF_Weak = 1U << 2, // Weak symbol
SF_Absolute = 1U << 3, // Absolute symbol
SF_Common = 1U << 4, // Symbol has common linkage
- SF_FormatSpecific = 1U << 5 // Specific to the object file format
+ SF_Indirect = 1U << 5, // Symbol is an alias to another symbol
+ SF_FormatSpecific = 1U << 6 // Specific to the object file format
// (e.g. section symbols)
};
@@ -98,7 +99,7 @@ public:
void moveNext();
- error_code printName(raw_ostream &OS) const;
+ std::error_code printName(raw_ostream &OS) const;
/// Get symbol flags (bitwise OR of SymbolRef::Flags)
uint32_t getFlags() const;
@@ -114,13 +115,13 @@ const uint64_t UnknownAddressOrSize = ~0ULL;
class SymbolicFile : public Binary {
public:
virtual ~SymbolicFile();
- SymbolicFile(unsigned int Type, MemoryBuffer *Source, bool BufferOwned);
+ SymbolicFile(unsigned int Type, std::unique_ptr<MemoryBuffer> Source);
// virtual interface.
virtual void moveSymbolNext(DataRefImpl &Symb) const = 0;
- virtual error_code printSymbolName(raw_ostream &OS,
- DataRefImpl Symb) const = 0;
+ virtual std::error_code printSymbolName(raw_ostream &OS,
+ DataRefImpl Symb) const = 0;
virtual uint32_t getSymbolFlags(DataRefImpl Symb) const = 0;
@@ -135,20 +136,19 @@ public:
basic_symbol_iterator symbol_end() const {
return symbol_end_impl();
}
+ typedef iterator_range<basic_symbol_iterator> basic_symbol_iterator_range;
+ basic_symbol_iterator_range symbols() const {
+ return basic_symbol_iterator_range(symbol_begin(), symbol_end());
+ }
// construction aux.
- static ErrorOr<SymbolicFile *> createIRObjectFile(MemoryBuffer *Object,
- LLVMContext &Context,
- bool BufferOwned = true);
-
- static ErrorOr<SymbolicFile *> createSymbolicFile(MemoryBuffer *Object,
- bool BufferOwned,
- sys::fs::file_magic Type,
- LLVMContext *Context);
-
- static ErrorOr<SymbolicFile *> createSymbolicFile(MemoryBuffer *Object) {
- return createSymbolicFile(Object, true, sys::fs::file_magic::unknown,
- nullptr);
+ static ErrorOr<SymbolicFile *>
+ createSymbolicFile(std::unique_ptr<MemoryBuffer> &Object,
+ sys::fs::file_magic Type, LLVMContext *Context);
+
+ static ErrorOr<SymbolicFile *>
+ createSymbolicFile(std::unique_ptr<MemoryBuffer> &Object) {
+ return createSymbolicFile(Object, sys::fs::file_magic::unknown, nullptr);
}
static ErrorOr<SymbolicFile *> createSymbolicFile(StringRef ObjectPath);
@@ -173,7 +173,7 @@ inline void BasicSymbolRef::moveNext() {
return OwningObject->moveSymbolNext(SymbolPimpl);
}
-inline error_code BasicSymbolRef::printName(raw_ostream &OS) const {
+inline std::error_code BasicSymbolRef::printName(raw_ostream &OS) const {
return OwningObject->printSymbolName(OS, SymbolPimpl);
}