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 {