[llvm] r190708 - Add warn_unused_result to empty() on various containers.
David Blaikie
dblaikie at gmail.com
Fri Sep 13 11:40:43 PDT 2013
On Fri, Sep 13, 2013 at 10:33 AM, Benjamin Kramer
<benny.kra at googlemail.com>wrote:
> Author: d0k
> Date: Fri Sep 13 12:33:24 2013
> New Revision: 190708
>
> URL: http://llvm.org/viewvc/llvm-project?rev=190708&view=rev
> Log:
> Add warn_unused_result to empty() on various containers.
>
This seems tedious (though I appreciate the work) - how bad would it be if
Clang assumed const member functions with no parameters were
warn_unused_result?
>
> empty() doesn't actually empty out the container, making this a common
> typo.
>
> Modified:
> llvm/trunk/include/llvm/ADT/DenseMap.h
> llvm/trunk/include/llvm/ADT/SmallPtrSet.h
> llvm/trunk/include/llvm/ADT/SmallVector.h
> llvm/trunk/include/llvm/ADT/ilist.h
>
> Modified: llvm/trunk/include/llvm/ADT/DenseMap.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/DenseMap.h?rev=190708&r1=190707&r2=190708&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/DenseMap.h (original)
> +++ llvm/trunk/include/llvm/ADT/DenseMap.h Fri Sep 13 12:33:24 2013
> @@ -64,7 +64,9 @@ public:
> return const_iterator(getBucketsEnd(), getBucketsEnd(), true);
> }
>
> - bool empty() const { return getNumEntries() == 0; }
> + bool LLVM_ATTRIBUTE_UNUSED_RESULT empty() const {
> + return getNumEntries() == 0;
> + }
> unsigned size() const { return getNumEntries(); }
>
> /// Grow the densemap so that it has at least Size buckets. Does not
> shrink
>
> Modified: llvm/trunk/include/llvm/ADT/SmallPtrSet.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/SmallPtrSet.h?rev=190708&r1=190707&r2=190708&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/SmallPtrSet.h (original)
> +++ llvm/trunk/include/llvm/ADT/SmallPtrSet.h Fri Sep 13 12:33:24 2013
> @@ -71,7 +71,7 @@ protected:
> ~SmallPtrSetImpl();
>
> public:
> - bool empty() const { return size() == 0; }
> + bool LLVM_ATTRIBUTE_UNUSED_RESULT empty() const { return size() == 0; }
> unsigned size() const { return NumElements; }
>
> void clear() {
>
> Modified: llvm/trunk/include/llvm/ADT/SmallVector.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/SmallVector.h?rev=190708&r1=190707&r2=190708&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/SmallVector.h (original)
> +++ llvm/trunk/include/llvm/ADT/SmallVector.h Fri Sep 13 12:33:24 2013
> @@ -53,7 +53,7 @@ public:
> return size_t((char*)CapacityX - (char*)BeginX);
> }
>
> - bool empty() const { return BeginX == EndX; }
> + bool LLVM_ATTRIBUTE_UNUSED_RESULT empty() const { return BeginX ==
> EndX; }
> };
>
> template <typename T, unsigned N> struct SmallVectorStorage;
>
> Modified: llvm/trunk/include/llvm/ADT/ilist.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/ilist.h?rev=190708&r1=190707&r2=190708&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/ilist.h (original)
> +++ llvm/trunk/include/llvm/ADT/ilist.h Fri Sep 13 12:33:24 2013
> @@ -382,7 +382,9 @@ public:
>
> // Miscellaneous inspection routines.
> size_type max_size() const { return size_type(-1); }
> - bool empty() const { return Head == 0 || Head == getTail(); }
> + bool LLVM_ATTRIBUTE_UNUSED_RESULT empty() const {
> + return Head == 0 || Head == getTail();
> + }
>
> // Front and back accessor functions...
> reference front() {
> @@ -534,7 +536,7 @@ public:
> // Functionality derived from other functions defined above...
> //
>
> - size_type size() const {
> + size_type LLVM_ATTRIBUTE_UNUSED_RESULT size() const {
> if (Head == 0) return 0; // Don't require construction of sentinel if
> empty.
> return std::distance(begin(), end());
> }
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130913/35a86581/attachment.html>
More information about the llvm-commits
mailing list