Have AttributesImpl defriend the Attributes class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166012 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/VMCore/Attributes.cpp b/lib/VMCore/Attributes.cpp
index 393eab0..cf8a895 100644
--- a/lib/VMCore/Attributes.cpp
+++ b/lib/VMCore/Attributes.cpp
@@ -88,7 +88,7 @@
 }
 
 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) {
diff --git a/lib/VMCore/AttributesImpl.h b/lib/VMCore/AttributesImpl.h
index 93001e2..b4a0f61 100644
--- a/lib/VMCore/AttributesImpl.h
+++ b/lib/VMCore/AttributesImpl.h
@@ -22,9 +22,7 @@
 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 @@
   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 {