[libcxx] r253257 - More tests for LWG#2156

Bruno Cardoso Lopes via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 16 15:41:15 PST 2015


Hi Marshall,

reserve.pass.cpp is failing on green dragon bot:

/Users/buildslave/jenkins/sharedspace/clang-stage1-cmake-RA_workspace at 2/llvm/projects/libcxx/test/std/containers/unord/unord.multimap/reserve.pass.cpp:45:14:
error: type 'std::unordered_multimap<size_t, size_t>' does not provide
a subscript operator

            c[i] = i;

            ~^~

1 error generated.

--

http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA_check/8459/consoleFull#-173756214249ba4694-19c4-4d7e-bec5-911270d8a58c


On Mon, Nov 16, 2015 at 2:18 PM, Marshall Clow via cfe-commits
<cfe-commits at lists.llvm.org> wrote:
> Author: marshall
> Date: Mon Nov 16 16:18:36 2015
> New Revision: 253257
>
> URL: http://llvm.org/viewvc/llvm-project?rev=253257&view=rev
> Log:
> More tests for LWG#2156
>
> Modified:
>     libcxx/trunk/test/std/containers/unord/unord.map/reserve.pass.cpp
>     libcxx/trunk/test/std/containers/unord/unord.multimap/reserve.pass.cpp
>     libcxx/trunk/test/std/containers/unord/unord.multiset/reserve.pass.cpp
>     libcxx/trunk/test/std/containers/unord/unord.set/reserve.pass.cpp
>
> Modified: libcxx/trunk/test/std/containers/unord/unord.map/reserve.pass.cpp
> URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/unord/unord.map/reserve.pass.cpp?rev=253257&r1=253256&r2=253257&view=diff
> ==============================================================================
> --- libcxx/trunk/test/std/containers/unord/unord.map/reserve.pass.cpp (original)
> +++ libcxx/trunk/test/std/containers/unord/unord.map/reserve.pass.cpp Mon Nov 16 16:18:36 2015
> @@ -31,6 +31,21 @@ void test(const C& c)
>      assert(c.at(4) == "four");
>  }
>
> +void reserve_invariant(size_t n) // LWG #2156
> +{
> +    for (size_t i = 0; i < n; ++i)
> +    {
> +        std::unordered_map<size_t, size_t> c;
> +        c.reserve(n);
> +        size_t buckets = c.bucket_count();
> +        for (size_t j = 0; j < i; ++j)
> +        {
> +            c[i] = i;
> +            assert(buckets == c.bucket_count());
> +        }
> +    }
> +}
> +
>  int main()
>  {
>      {
> @@ -88,4 +103,5 @@ int main()
>          test(c);
>      }
>  #endif
> +    reserve_invariant(20);
>  }
>
> Modified: libcxx/trunk/test/std/containers/unord/unord.multimap/reserve.pass.cpp
> URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/unord/unord.multimap/reserve.pass.cpp?rev=253257&r1=253256&r2=253257&view=diff
> ==============================================================================
> --- libcxx/trunk/test/std/containers/unord/unord.multimap/reserve.pass.cpp (original)
> +++ libcxx/trunk/test/std/containers/unord/unord.multimap/reserve.pass.cpp Mon Nov 16 16:18:36 2015
> @@ -33,6 +33,21 @@ void test(const C& c)
>      assert(c.find(4)->second == "four");
>  }
>
> +void reserve_invariant(size_t n) // LWG #2156
> +{
> +    for (size_t i = 0; i < n; ++i)
> +    {
> +        std::unordered_multimap<size_t, size_t> c;
> +        c.reserve(n);
> +        size_t buckets = c.bucket_count();
> +        for (size_t j = 0; j < i; ++j)
> +        {
> +            c[i] = i;
> +            assert(buckets == c.bucket_count());
> +        }
> +    }
> +}
> +
>  int main()
>  {
>      {
> @@ -90,4 +105,5 @@ int main()
>          test(c);
>      }
>  #endif
> +    reserve_invariant(20);
>  }
>
> Modified: libcxx/trunk/test/std/containers/unord/unord.multiset/reserve.pass.cpp
> URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/unord/unord.multiset/reserve.pass.cpp?rev=253257&r1=253256&r2=253257&view=diff
> ==============================================================================
> --- libcxx/trunk/test/std/containers/unord/unord.multiset/reserve.pass.cpp (original)
> +++ libcxx/trunk/test/std/containers/unord/unord.multiset/reserve.pass.cpp Mon Nov 16 16:18:36 2015
> @@ -30,6 +30,21 @@ void test(const C& c)
>      assert(c.count(4) == 1);
>  }
>
> +void reserve_invariant(size_t n) // LWG #2156
> +{
> +    for (size_t i = 0; i < n; ++i)
> +    {
> +        std::unordered_multiset<size_t> c;
> +        c.reserve(n);
> +        size_t buckets = c.bucket_count();
> +        for (size_t j = 0; j < i; ++j)
> +        {
> +            c.insert(i);
> +            assert(buckets == c.bucket_count());
> +        }
> +    }
> +}
> +
>  int main()
>  {
>      {
> @@ -87,4 +102,5 @@ int main()
>          test(c);
>      }
>  #endif
> +    reserve_invariant(20);
>  }
>
> Modified: libcxx/trunk/test/std/containers/unord/unord.set/reserve.pass.cpp
> URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/unord/unord.set/reserve.pass.cpp?rev=253257&r1=253256&r2=253257&view=diff
> ==============================================================================
> --- libcxx/trunk/test/std/containers/unord/unord.set/reserve.pass.cpp (original)
> +++ libcxx/trunk/test/std/containers/unord/unord.set/reserve.pass.cpp Mon Nov 16 16:18:36 2015
> @@ -30,6 +30,21 @@ void test(const C& c)
>      assert(c.count(4) == 1);
>  }
>
> +void reserve_invariant(size_t n) // LWG #2156
> +{
> +    for (size_t i = 0; i < n; ++i)
> +    {
> +        std::unordered_set<size_t> c;
> +        c.reserve(n);
> +        size_t buckets = c.bucket_count();
> +        for (size_t j = 0; j < i; ++j)
> +        {
> +            c.insert(i);
> +            assert(buckets == c.bucket_count());
> +        }
> +    }
> +}
> +
>  int main()
>  {
>      {
> @@ -87,4 +102,5 @@ int main()
>          test(c);
>      }
>  #endif
> +    reserve_invariant(20);
>  }
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits



-- 
Bruno Cardoso Lopes
http://www.brunocardoso.cc


More information about the cfe-commits mailing list