aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Object
diff options
context:
space:
mode:
authorShankar Easwaran <shankare@codeaurora.org>2012-11-13 18:38:42 +0000
committerShankar Easwaran <shankare@codeaurora.org>2012-11-13 18:38:42 +0000
commit206252cc9f5509b27aa0761c677fdee8daff001c (patch)
tree10ffe1df6508703df2117670df2f4f0e38076d98 /include/llvm/Object
parentf7414823871c7707a6af61c19e5f9ce3a4fa861c (diff)
downloadexternal_llvm-206252cc9f5509b27aa0761c677fdee8daff001c.zip
external_llvm-206252cc9f5509b27aa0761c677fdee8daff001c.tar.gz
external_llvm-206252cc9f5509b27aa0761c677fdee8daff001c.tar.bz2
Adding changes to support GNU style archive library reading
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167853 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Object')
-rw-r--r--include/llvm/Object/Archive.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/llvm/Object/Archive.h b/include/llvm/Object/Archive.h
index f3d8249..9cd5871 100644
--- a/include/llvm/Object/Archive.h
+++ b/include/llvm/Object/Archive.h
@@ -122,6 +122,16 @@ public:
Archive(MemoryBuffer *source, error_code &ec);
+ enum Kind {
+ K_GNU,
+ K_BSD,
+ K_COFF
+ };
+
+ Kind kind() const {
+ return Format;
+ }
+
child_iterator begin_children(bool skip_internal = true) const;
child_iterator end_children() const;
@@ -133,9 +143,13 @@ public:
return v->isArchive();
}
+ // check if a symbol is in the archive
+ child_iterator findSym(StringRef name) const;
+
private:
child_iterator SymbolTable;
child_iterator StringTable;
+ Kind Format;
};
}