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

Dimitry Andric dim at FreeBSD.org
Tue Mar 24 22:42:15 UTC 2015


Author: dim
Date: Tue Mar 24 22:42:14 2015
New Revision: 280479
URL: https://svnweb.freebsd.org/changeset/base/280479

Log:
  Pull in r232020 from upstream llvm trunk (by Davide Italiano):
  
    [Object/ELF] Add support for setVisibility()
  
    This is a prerequisite to implement symbol visibility for ELF
    in lld.
  
    Differential Revision:	http://reviews.llvm.org/D8279
  
  This is a prerequisite for building lld trunk.

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

Modified: projects/lld-import/contrib/llvm/include/llvm/Object/ELFTypes.h
==============================================================================
--- projects/lld-import/contrib/llvm/include/llvm/Object/ELFTypes.h	Tue Mar 24 22:41:17 2015	(r280478)
+++ projects/lld-import/contrib/llvm/include/llvm/Object/ELFTypes.h	Tue Mar 24 22:42:14 2015	(r280479)
@@ -189,7 +189,15 @@ struct Elf_Sym_Impl : Elf_Sym_Base<ELFT>
   }
 
   /// Access to the STV_xxx flag stored in the first two bits of st_other.
+  /// STV_DEFAULT: 0
+  /// STV_INTERNAL: 1
+  /// STV_HIDDEN: 2
+  /// STV_PROTECTED: 3
   unsigned char getVisibility() const { return st_other & 0x3; }
+  void setVisibility(unsigned char v) {
+    assert(v < 4 && "Invalid value for visibility");
+    st_other = (st_other & ~0x3) | v;
+  }
 };
 
 /// Elf_Versym: This is the structure of entries in the SHT_GNU_versym section


More information about the svn-src-projects mailing list