svn commit: r280478 - projects/lld-import/contrib/llvm/include/llvm/Object

Dimitry Andric dim at FreeBSD.org
Tue Mar 24 22:41:19 UTC 2015


Author: dim
Date: Tue Mar 24 22:41:17 2015
New Revision: 280478
URL: https://svnweb.freebsd.org/changeset/base/280478

Log:
  Pull in r231203 from upstream llvm trunk (by Rui Ueyama):
  
    Object: Add range iterators to Archive symbols
  
    Also define operator* for symbol iterator just like Archive children iterator.
  
  This is a prerequisite for building lld trunk.

Modified:
  projects/lld-import/contrib/llvm/include/llvm/Object/Archive.h

Modified: projects/lld-import/contrib/llvm/include/llvm/Object/Archive.h
==============================================================================
--- projects/lld-import/contrib/llvm/include/llvm/Object/Archive.h	Tue Mar 24 22:40:19 2015	(r280477)
+++ projects/lld-import/contrib/llvm/include/llvm/Object/Archive.h	Tue Mar 24 22:41:17 2015	(r280478)
@@ -146,9 +146,8 @@ public:
     Symbol symbol;
   public:
     symbol_iterator(const Symbol &s) : symbol(s) {}
-    const Symbol *operator->() const {
-      return &symbol;
-    }
+    const Symbol *operator->() const { return &symbol; }
+    const Symbol &operator*() const { return symbol; }
 
     bool operator==(const symbol_iterator &other) const {
       return symbol == other.symbol;
@@ -184,6 +183,9 @@ public:
 
   symbol_iterator symbol_begin() const;
   symbol_iterator symbol_end() const;
+  iterator_range<symbol_iterator> symbols() const {
+    return iterator_range<symbol_iterator>(symbol_begin(), symbol_end());
+  }
 
   // Cast methods.
   static inline bool classof(Binary const *v) {


More information about the svn-src-projects mailing list