Have AttributesImpl defriend the Attributes class.
authorBill Wendling <isanbard@gmail.com>
Tue, 16 Oct 2012 05:57:28 +0000 (05:57 +0000)
committerBill Wendling <isanbard@gmail.com>
Tue, 16 Oct 2012 05:57:28 +0000 (05:57 +0000)
llvm-svn: 166012

llvm/lib/VMCore/Attributes.cpp
llvm/lib/VMCore/AttributesImpl.h

index 393eab0..cf8a895 100644 (file)
@@ -88,7 +88,7 @@ unsigned Attributes::getStackAlignment() const {
 }
 
 uint64_t Attributes::Raw() const {
-  return Attrs ? Attrs->Bits : 0; // FIXME: Don't access this directly!
+  return Attrs ? Attrs->Raw() : 0;
 }
 
 Attributes Attributes::typeIncompatible(Type *Ty) {
index 93001e2..b4a0f61 100644 (file)
@@ -22,9 +22,7 @@ namespace llvm {
 class Attributes;
 
 class AttributesImpl : public FoldingSetNode {
-  friend class Attributes;
   uint64_t Bits;                // FIXME: We will be expanding this.
-
 public:
   AttributesImpl(uint64_t bits) : Bits(bits) {}
 
@@ -36,6 +34,8 @@ public:
   uint64_t getAlignment() const;
   uint64_t getStackAlignment() const;
 
+  uint64_t Raw() const { return Bits; } // FIXME: Remove.
+
   static uint64_t getAttrMask(uint64_t Val);
 
   void Profile(FoldingSetNodeID &ID) const {