The 'Raw' method cannot handle 'string' attributes. Don't even try.
authorBill Wendling <isanbard@gmail.com>
Sun, 10 Feb 2013 23:18:05 +0000 (23:18 +0000)
committerBill Wendling <isanbard@gmail.com>
Sun, 10 Feb 2013 23:18:05 +0000 (23:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174848 91177308-0d34-0410-b5e6-96231b3b80d8

lib/IR/Attributes.cpp

index e64603c2f59cadc35fa3e22b0a88c7b41f396b00..343f569a1183750944f8ec2254e96cd609bc880c 100644 (file)
@@ -468,6 +468,10 @@ uint64_t AttributeSetImpl::Raw(uint64_t Index) const {
     for (AttributeSetNode::const_iterator II = ASN->begin(),
            IE = ASN->end(); II != IE; ++II) {
       Attribute Attr = *II;
+
+      // This cannot handle string attributes.
+      if (Attr.isStringAttribute()) continue;
+
       Attribute::AttrKind Kind = Attr.getKindAsEnum();
 
       if (Kind == Attribute::Alignment)