/// \brief Return true if the attribute is present.
bool hasAttribute(AttrKind Val) const;
- /// \brief Return true if attributes exist
- bool hasAttributes() const;
-
/// \brief Return the kind of this attribute.
Constant *getAttributeKind() const;
AttributeImpl(LLVMContext &C, StringRef data);
bool hasAttribute(Attribute::AttrKind A) const;
- bool hasAttributes() const;
Constant *getAttributeKind() const { return Kind; }
ArrayRef<Constant*> getAttributeValues() const { return Vals; }
return pImpl && pImpl->hasAttribute(Val);
}
-bool Attribute::hasAttributes() const {
- return pImpl && pImpl->hasAttributes();
-}
-
Constant *Attribute::getAttributeKind() const {
return pImpl ? pImpl->getAttributeKind() : 0;
}
return (Raw() & getAttrMask(A)) != 0;
}
-bool AttributeImpl::hasAttributes() const {
- return Raw() != 0;
-}
-
uint64_t AttributeImpl::getAlignment() const {
uint64_t Mask = Raw() & getAttrMask(Attribute::Alignment);
return 1ULL << ((Mask >> 16) - 1);
for (unsigned i = 0, e = Attrs.size(); i != e; ++i) {
assert((!i || Attrs[i-1].first <= Attrs[i].first) &&
"Misordered Attributes list!");
- assert(Attrs[i].second.hasAttributes() &&
+ assert(Attrs[i].second != Attribute::None &&
"Pointless attribute!");
}
#endif