aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Attributes.h1
-rw-r--r--lib/VMCore/Attributes.cpp3
2 files changed, 4 insertions, 0 deletions
diff --git a/include/llvm/Attributes.h b/include/llvm/Attributes.h
index d20a47a286..8b43e08f08 100644
--- a/include/llvm/Attributes.h
+++ b/include/llvm/Attributes.h
@@ -95,6 +95,7 @@ private:
public:
Attributes() : Attrs(0) {}
explicit Attributes(uint64_t Val);
+ explicit Attributes(AttrVal Val);
Attributes(const Attributes &A);
class Builder {
diff --git a/lib/VMCore/Attributes.cpp b/lib/VMCore/Attributes.cpp
index 0625ef3f09..7ae823214b 100644
--- a/lib/VMCore/Attributes.cpp
+++ b/lib/VMCore/Attributes.cpp
@@ -29,6 +29,9 @@ using namespace llvm;
Attributes::Attributes(uint64_t Val) : Attrs(Val) {}
+Attributes::Attributes(AttrVal Val)
+ : Attrs(Attributes::get(Attributes::Builder().addAttribute(Val)).Attrs) {}
+
Attributes::Attributes(AttributesImpl *A) : Attrs(A->Bits) {}
Attributes::Attributes(const Attributes &A) : Attrs(A.Attrs) {}