summaryrefslogtreecommitdiff
path: root/include/llvm
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2012-10-14 06:39:53 +0000
committerBill Wendling <isanbard@gmail.com>2012-10-14 06:39:53 +0000
commit5886b7bfc82385dfd35b7602304c86075e1d72e6 (patch)
treeb818eb58d9335787f839a6e1757f5350185bb157 /include/llvm
parenta19a53065fcaa6fafce902efde38fcae7b0bdea4 (diff)
downloadllvm-5886b7bfc82385dfd35b7602304c86075e1d72e6.tar.gz
llvm-5886b7bfc82385dfd35b7602304c86075e1d72e6.tar.bz2
llvm-5886b7bfc82385dfd35b7602304c86075e1d72e6.tar.xz
Remove the bitwise NOT operator from the Attributes class. Replace it with the equivalent from the builder class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165892 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r--include/llvm/Attributes.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/llvm/Attributes.h b/include/llvm/Attributes.h
index ce477c8aeb..5b614e9107 100644
--- a/include/llvm/Attributes.h
+++ b/include/llvm/Attributes.h
@@ -131,7 +131,7 @@ public:
/// a power of 2) into the form used internally in Attributes.
Builder &addStackAlignmentAttr(unsigned Align);
- void removeAttributes(const Attributes &A);
+ Builder &removeAttributes(const Attributes &A);
/// @brief Remove attributes that are used on functions only.
void removeFunctionOnlyAttrs() {
@@ -154,6 +154,13 @@ public:
.removeAttribute(Attributes::ReturnsTwice)
.removeAttribute(Attributes::AddressSafety);
}
+
+ bool operator==(const Builder &B) {
+ return Bits == B.Bits;
+ }
+ bool operator!=(const Builder &B) {
+ return Bits != B.Bits;
+ }
};
/// get - Return a uniquified Attributes object. This takes the uniquified
@@ -232,7 +239,6 @@ public:
Attributes operator ^ (const Attributes &A) const;
Attributes &operator |= (const Attributes &A);
Attributes &operator &= (const Attributes &A);
- Attributes operator ~ () const;
uint64_t Raw() const;
@@ -351,7 +357,7 @@ public:
/// removeAttr - Remove the specified attribute at the specified index from
/// this attribute list. Since attribute lists are immutable, this
/// returns the new list.
- AttrListPtr removeAttr(unsigned Idx, Attributes Attrs) const;
+ AttrListPtr removeAttr(LLVMContext &C, unsigned Idx, Attributes Attrs) const;
//===--------------------------------------------------------------------===//
// Attribute List Accessors