Don't assert on empty attributes.
authorBill Wendling <isanbard@gmail.com>
Thu, 21 Feb 2013 19:46:51 +0000 (19:46 +0000)
committerBill Wendling <isanbard@gmail.com>
Thu, 21 Feb 2013 19:46:51 +0000 (19:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175785 91177308-0d34-0410-b5e6-96231b3b80d8

lib/IR/Function.cpp

index 15c05e71e2283e805ce5739214a1d229ea1a3799..5c444d238adbfb5f8bbc44bc52d5719051957b3b 100644 (file)
@@ -125,7 +125,7 @@ bool Argument::hasStructRetAttr() const {
 
 /// addAttr - Add attributes to an argument.
 void Argument::addAttr(AttributeSet AS) {
-  assert(AS.getNumSlots() == 1 &&
+  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,
@@ -135,7 +135,7 @@ void Argument::addAttr(AttributeSet AS) {
 
 /// removeAttr - Remove attributes from an argument.
 void Argument::removeAttr(AttributeSet AS) {
-  assert(AS.getNumSlots() == 1 &&
+  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,