forked from OSchip/llvm-project
Fix crash in AttributeList::addAttributes, add test
llvm-svn: 300614
This commit is contained in:
parent
f09c1e346e
commit
fe64c0137e
|
@ -988,6 +988,9 @@ AttributeList AttributeList::addAttributes(LLVMContext &C, unsigned Index,
|
|||
if (!AS.hasAttributes())
|
||||
return *this;
|
||||
|
||||
if (!pImpl)
|
||||
return AttributeList::get(C, {{Index, AS}});
|
||||
|
||||
#ifndef NDEBUG
|
||||
// FIXME it is not obvious how this should work for alignment. For now, say
|
||||
// we can't change a known alignment.
|
||||
|
|
|
@ -49,4 +49,13 @@ TEST(Attributes, Ordering) {
|
|||
EXPECT_NE(SetA, SetB);
|
||||
}
|
||||
|
||||
TEST(Attributes, AddAttributes) {
|
||||
LLVMContext C;
|
||||
AttributeList AL;
|
||||
AttrBuilder B;
|
||||
B.addAttribute(Attribute::NoReturn);
|
||||
AL = AL.addAttributes(C, AttributeList::FunctionIndex, AttributeSet::get(C, B));
|
||||
EXPECT_TRUE(AL.hasFnAttribute(Attribute::NoReturn));
|
||||
}
|
||||
|
||||
} // end anonymous namespace
|
||||
|
|
Loading…
Reference in New Issue