// Attribute Implementation
//===----------------------------------------------------------------------===//
-Attribute Attribute::get(LLVMContext &Context, ArrayRef<AttrVal> Vals) {
+Attribute Attribute::get(LLVMContext &Context, ArrayRef<AttrKind> Vals) {
AttrBuilder B;
- for (ArrayRef<AttrVal>::iterator I = Vals.begin(), E = Vals.end();
+ for (ArrayRef<AttrKind>::iterator I = Vals.begin(), E = Vals.end();
I != E; ++I)
B.addAttribute(*I);
return Attribute::get(Context, B);
return Attribute(PA);
}
-bool Attribute::hasAttribute(AttrVal Val) const {
+bool Attribute::hasAttribute(AttrKind Val) const {
return pImpl && pImpl->hasAttribute(Val);
}
// AttrBuilder Implementation
//===----------------------------------------------------------------------===//
-AttrBuilder &AttrBuilder::addAttribute(Attribute::AttrVal Val){
+AttrBuilder &AttrBuilder::addAttribute(Attribute::AttrKind Val){
Bits |= AttributeImpl::getAttrMask(Val);
return *this;
}
return *this;
}
-AttrBuilder &AttrBuilder::removeAttribute(Attribute::AttrVal Val) {
+AttrBuilder &AttrBuilder::removeAttribute(Attribute::AttrKind Val) {
Bits &= ~AttributeImpl::getAttrMask(Val);
return *this;
}
return *this;
}
-bool AttrBuilder::hasAttribute(Attribute::AttrVal A) const {
+bool AttrBuilder::hasAttribute(Attribute::AttrKind A) const {
return Bits & AttributeImpl::getAttrMask(A);
}
/// hasAttrSomewhere - Return true if the specified attribute is set for at
/// least one parameter or for the return value.
-bool AttributeSet::hasAttrSomewhere(Attribute::AttrVal Attr) const {
+bool AttributeSet::hasAttrSomewhere(Attribute::AttrKind Attr) const {
if (AttrList == 0) return false;
const SmallVector<AttributeWithIndex, 4> &Attrs = AttrList->Attrs;