[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