[llvm-commits] CVS: llvm/include/llvm/GlobalValue.h

Anton Korobeynikov asl at math.spbu.ru
Sun Apr 29 11:35:44 PDT 2007



Changes in directory llvm/include/llvm:

GlobalValue.h updated: 1.40 -> 1.41
---
Log message:

Implement protected visibility. This partly implements PR1363: http://llvm.org/PR1363 . Linker 
should be taught to deal with protected symbols.


---
Diffs of the changes:  (+6 -2)

 GlobalValue.h |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)


Index: llvm/include/llvm/GlobalValue.h
diff -u llvm/include/llvm/GlobalValue.h:1.40 llvm/include/llvm/GlobalValue.h:1.41
--- llvm/include/llvm/GlobalValue.h:1.40	Sat Apr 28 08:44:59 2007
+++ llvm/include/llvm/GlobalValue.h	Sun Apr 29 13:35:00 2007
@@ -43,7 +43,8 @@
   /// @brief An enumeration for the kinds of visibility of global values.
   enum VisibilityTypes {
     DefaultVisibility = 0,  ///< The GV is visible
-    HiddenVisibility        ///< The GV is hidden
+    HiddenVisibility,       ///< The GV is hidden
+    ProtectedVisibility     ///< The GV is protected
   };
 
 protected:
@@ -58,7 +59,7 @@
   // Note: VC++ treats enums as signed, so an extra bit is required to prevent
   // Linkage and Visibility from turning into negative values.
   LinkageTypes Linkage : 5;   // The linkage of this global
-  unsigned Visibility : 1;    // The visibility style of this global
+  unsigned Visibility : 2;    // The visibility style of this global
   unsigned Alignment : 16;    // Alignment of this symbol, must be power of two
   std::string Section;        // Section to emit this into, empty mean default
 public:
@@ -74,6 +75,9 @@
 
   VisibilityTypes getVisibility() const { return (VisibilityTypes)Visibility; }
   bool hasHiddenVisibility() const { return Visibility == HiddenVisibility; }
+  bool hasProtectedVisibility() const {
+    return Visibility == ProtectedVisibility;
+  }
   void setVisibility(VisibilityTypes V) { Visibility = V; }
   
   bool hasSection() const { return !Section.empty(); }






More information about the llvm-commits mailing list