mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-23 02:29:18 +00:00
Add and remove the attribute from the correct slot.
The slot that we're adding/removing the attribute from may not be the same as the attribute coming in. Make sure that they match up before we try to add/remove them. PR15313 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175684 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
08addcab19
commit
b7a1dda9c9
@ -125,12 +125,22 @@ bool Argument::hasStructRetAttr() const {
|
||||
|
||||
/// addAttr - Add attributes to an argument.
|
||||
void Argument::addAttr(AttributeSet AS) {
|
||||
getParent()->addAttributes(getArgNo() + 1, AS);
|
||||
assert(AS.getNumSlots() == 1 &&
|
||||
"Trying to add more than one attribute set to an argument!");
|
||||
AttrBuilder B(AS, AS.getSlotIndex(0));
|
||||
getParent()->addAttributes(getArgNo() + 1,
|
||||
AttributeSet::get(Parent->getContext(),
|
||||
getArgNo() + 1, B));
|
||||
}
|
||||
|
||||
/// removeAttr - Remove attributes from an argument.
|
||||
void Argument::removeAttr(AttributeSet AS) {
|
||||
getParent()->removeAttributes(getArgNo() + 1, AS);
|
||||
assert(AS.getNumSlots() == 1 &&
|
||||
"Trying to remove more than one attribute set from an argument!");
|
||||
AttrBuilder B(AS, AS.getSlotIndex(0));
|
||||
getParent()->removeAttributes(getArgNo() + 1,
|
||||
AttributeSet::get(Parent->getContext(),
|
||||
getArgNo() + 1, B));
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
Loading…
Reference in New Issue
Block a user