[llvm] r211353 - Reverting size_type for the containers from size_type to unsigned.
Yaron Keren
yaron.keren at gmail.com
Fri Jun 20 05:45:36 PDT 2014
Hi Eli,
Is it after this revision? size_type == unsigned?
What is the error message? I did not get (yet) from the builder.
Yaron
2014-06-20 15:42 GMT+03:00 Eli Bendersky <eliben at google.com>:
> It still doesn't compile on x64 Ubuntu
On Fri, Jun 20, 2014 at 5:20 AM, Yaron Keren <yaron.keren at gmail.com> wrote:
> Author: yrnkrn
> Date: Fri Jun 20 07:20:56 2014
> New Revision: 211353
>
> URL: http://llvm.org/viewvc/llvm-project?rev=211353&view=rev
> Log:
> Reverting size_type for the containers from size_type to unsigned.
> Various places in LLVM assume that container size and count are unsigned
> and do not use the container size_type. Therefore they break compilation
> (or possibly executation) for LP64 systems where size_t is 64 bit while
> unsigned is still 32 bit.
>
> If we'll ever that many items in the container size_type could be made
> size_t for a specific containers after reviweing its other uses.
>
>
> Modified:
> llvm/trunk/include/llvm/ADT/DenseMap.h
> llvm/trunk/include/llvm/ADT/DenseSet.h
> llvm/trunk/include/llvm/ADT/ScopedHashTable.h
> llvm/trunk/include/llvm/ADT/SmallBitVector.h
> llvm/trunk/include/llvm/ADT/SmallPtrSet.h
> llvm/trunk/include/llvm/ADT/SparseBitVector.h
> llvm/trunk/include/llvm/ADT/SparseMultiSet.h
> llvm/trunk/include/llvm/ADT/SparseSet.h
> llvm/trunk/include/llvm/IR/ValueMap.h
>
> Modified: llvm/trunk/include/llvm/ADT/DenseMap.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/DenseMap.h?rev=211353&r1=211352&r2=211353&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/DenseMap.h (original)
> +++ llvm/trunk/include/llvm/ADT/DenseMap.h Fri Jun 20 07:20:56 2014
> @@ -43,7 +43,7 @@ protected:
> typedef std::pair<KeyT, ValueT> BucketT;
>
> public:
> - typedef size_t size_type;
> + typedef unsigned size_type;
> typedef KeyT key_type;
> typedef ValueT mapped_type;
> typedef BucketT value_type;
>
> Modified: llvm/trunk/include/llvm/ADT/DenseSet.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/DenseSet.h?rev=211353&r1=211352&r2=211353&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/DenseSet.h (original)
> +++ llvm/trunk/include/llvm/ADT/DenseSet.h Fri Jun 20 07:20:56 2014
> @@ -29,7 +29,7 @@ class DenseSet {
> public:
> typedef ValueT key_type;
> typedef ValueT value_type;
> - typedef size_t size_type;
> + typedef unsigned size_type;
>
> explicit DenseSet(unsigned NumInitBuckets = 0) : TheMap(NumInitBuckets)
> {}
>
>
> Modified: llvm/trunk/include/llvm/ADT/ScopedHashTable.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/ScopedHashTable.h?rev=211353&r1=211352&r2=211353&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/ScopedHashTable.h (original)
> +++ llvm/trunk/include/llvm/ADT/ScopedHashTable.h Fri Jun 20 07:20:56 2014
> @@ -148,7 +148,7 @@ public:
> /// ScopeTy - This is a helpful typedef that allows clients to get easy
> access
> /// to the name of the scope for this hash table.
> typedef ScopedHashTableScope<K, V, KInfo, AllocatorTy> ScopeTy;
> - typedef size_t size_type;
> + typedef unsigned size_type;
> private:
> typedef ScopedHashTableVal<K, V> ValTy;
> DenseMap<K, ValTy*, KInfo> TopLevelMap;
>
> Modified: llvm/trunk/include/llvm/ADT/SmallBitVector.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/SmallBitVector.h?rev=211353&r1=211352&r2=211353&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/SmallBitVector.h (original)
> +++ llvm/trunk/include/llvm/ADT/SmallBitVector.h Fri Jun 20 07:20:56 2014
> @@ -54,7 +54,7 @@ class SmallBitVector {
> };
>
> public:
> - typedef size_t size_type;
> + typedef unsigned size_type;
> // Encapsulation of a single bit.
> class reference {
> SmallBitVector &TheVector;
>
> Modified: llvm/trunk/include/llvm/ADT/SmallPtrSet.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/SmallPtrSet.h?rev=211353&r1=211352&r2=211353&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/SmallPtrSet.h (original)
> +++ llvm/trunk/include/llvm/ADT/SmallPtrSet.h Fri Jun 20 07:20:56 2014
> @@ -73,7 +73,7 @@ protected:
> ~SmallPtrSetImplBase();
>
> public:
> - typedef size_t size_type;
> + typedef unsigned size_type;
> bool LLVM_ATTRIBUTE_UNUSED_RESULT empty() const { return size() == 0; }
> size_type size() const { return NumElements; }
>
>
> Modified: llvm/trunk/include/llvm/ADT/SparseBitVector.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/SparseBitVector.h?rev=211353&r1=211352&r2=211353&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/SparseBitVector.h (original)
> +++ llvm/trunk/include/llvm/ADT/SparseBitVector.h Fri Jun 20 07:20:56 2014
> @@ -45,7 +45,7 @@ struct SparseBitVectorElement
> : public ilist_node<SparseBitVectorElement<ElementSize> > {
> public:
> typedef unsigned long BitWord;
> - typedef size_t size_type;
> + typedef unsigned size_type;
> enum {
> BITWORD_SIZE = sizeof(BitWord) * CHAR_BIT,
> BITWORDS_PER_ELEMENT = (ElementSize + BITWORD_SIZE - 1) /
> BITWORD_SIZE,
>
> Modified: llvm/trunk/include/llvm/ADT/SparseMultiSet.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/SparseMultiSet.h?rev=211353&r1=211352&r2=211353&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/SparseMultiSet.h (original)
> +++ llvm/trunk/include/llvm/ADT/SparseMultiSet.h Fri Jun 20 07:20:56 2014
> @@ -185,7 +185,7 @@ public:
> typedef const ValueT &const_reference;
> typedef ValueT *pointer;
> typedef const ValueT *const_pointer;
> - typedef size_t size_type;
> + typedef unsigned size_type;
>
> SparseMultiSet()
> : Sparse(nullptr), Universe(0), FreelistIdx(SMSNode::INVALID),
> NumFree(0) {}
>
> Modified: llvm/trunk/include/llvm/ADT/SparseSet.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/SparseSet.h?rev=211353&r1=211352&r2=211353&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/SparseSet.h (original)
> +++ llvm/trunk/include/llvm/ADT/SparseSet.h Fri Jun 20 07:20:56 2014
> @@ -124,7 +124,7 @@ class SparseSet {
>
> typedef typename KeyFunctorT::argument_type KeyT;
> typedef SmallVector<ValueT, 8> DenseT;
> - typedef size_t size_type;
> + typedef unsigned size_type;
> DenseT Dense;
> SparseT *Sparse;
> unsigned Universe;
>
> Modified: llvm/trunk/include/llvm/IR/ValueMap.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/ValueMap.h?rev=211353&r1=211352&r2=211353&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/IR/ValueMap.h (original)
> +++ llvm/trunk/include/llvm/IR/ValueMap.h Fri Jun 20 07:20:56 2014
> @@ -87,7 +87,7 @@ public:
> typedef KeyT key_type;
> typedef ValueT mapped_type;
> typedef std::pair<KeyT, ValueT> value_type;
> - typedef size_t size_type;
> + typedef unsigned size_type;
>
> explicit ValueMap(unsigned NumInitBuckets = 64)
> : Map(NumInitBuckets), Data() {}
>
>
> _______________________________________________
> 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/20140620/48591d85/attachment.html>
More information about the llvm-commits
mailing list