diff options
author | Bill Wendling <isanbard@gmail.com> | 2013-01-27 10:28:39 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2013-01-27 10:28:39 +0000 |
commit | 16f95669ec814d98ce28ad514df603c01d662ee8 (patch) | |
tree | 55843eed546e5314c1d4a3a41a1daf71fc3239d9 | |
parent | 08c11d302325b3715d77f4208d183c9b2a253b14 (diff) |
Fix miscompile. Add back the use of the ArrayRef version of the ::get method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173613 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/IR/Attributes.h | 2 | ||||
-rw-r--r-- | lib/IR/Attributes.cpp | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/include/llvm/IR/Attributes.h b/include/llvm/IR/Attributes.h index e8762942b1..46ba596307 100644 --- a/include/llvm/IR/Attributes.h +++ b/include/llvm/IR/Attributes.h @@ -109,7 +109,7 @@ public: /// \brief Return a uniquified Attribute object. This takes the uniquified /// value from the Builder and wraps it in the Attribute class. - static Attribute get(LLVMContext &Context, AttrKind Kind); + static Attribute get(LLVMContext &Context, ArrayRef<AttrKind> Kinds); static Attribute get(LLVMContext &Context, AttrBuilder &B); /// \brief Return true if the attribute is present. diff --git a/lib/IR/Attributes.cpp b/lib/IR/Attributes.cpp index 937514a0a4..8ec192b813 100644 --- a/lib/IR/Attributes.cpp +++ b/lib/IR/Attributes.cpp @@ -30,8 +30,11 @@ using namespace llvm; // Attribute Implementation //===----------------------------------------------------------------------===// -Attribute Attribute::get(LLVMContext &Context, AttrKind Kind) { - AttrBuilder B(Kind); +Attribute Attribute::get(LLVMContext &Context, ArrayRef<AttrKind> Kinds) { + AttrBuilder B; + for (ArrayRef<AttrKind>::iterator I = Kinds.begin(), E = Kinds.end(); + I != E; ++I) + B.addAttribute(*I); return Attribute::get(Context, B); } |