};
private:
friend class AttrBuilder;
+ friend class AttributeSetImpl;
/// \brief The attributes that we are managing. This can be null to represent
/// the empty attributes list.
/// list.
AttributeSet removeAttr(LLVMContext &C, unsigned Idx, Attribute Attrs) const;
+ /// \brief Create an AttributeSet from the AttributeWithIndex structures.
+ /// N.B. this is only temporary. It will be disappearing in the future.
+ static AttributeSet get(LLVMContext &C, ArrayRef<AttributeWithIndex> Attrs);
+
explicit AttributeSet(AttributeSetImpl *LI) : AttrList(LI) {}
public:
AttributeSet() : AttrList(0) {}
//===--------------------------------------------------------------------===//
/// \brief Return an AttributeSet with the specified parameters in it.
- static AttributeSet get(LLVMContext &C, ArrayRef<AttributeWithIndex> Attrs);
static AttributeSet get(LLVMContext &C, ArrayRef<AttributeSet> Attrs);
static AttributeSet get(LLVMContext &C, unsigned Idx,
ArrayRef<Attribute::AttrKind> Kind);