<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.gcc.libstdc++.devel">
    <title>gmane.comp.gcc.libstdc++.devel</title>
    <link>http://blog.gmane.org/gmane.comp.gcc.libstdc++.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24345"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24338"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24316"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24283"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24279"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24276"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24267"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24261"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24260"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24257"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24251"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24248"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24243"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24238"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24237"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24236"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24234"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24231"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24224"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24219"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24345">
    <title>Fix stable_sort to work on iterators returning rvalue</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24345</link>
    <description>&lt;pre&gt;Hi

     The issues I had when trying to use stable_sort with move_iterator 
was in fact not all coming from a missing swap overload. In fact 
stable_sort do not accept iterators with dereference operator returning 
pure rvalue. I use std::vector&amp;lt;bool&amp;gt;::iterator to illustrate this 
problem. The problem was in fact coming from 
__uninitialized_construct_buf that was taking a lvalue reference. I 
simply modify the function and the underlying helper struct to 
dereference the iterator as late as possible that is to say only when we 
need to pass it to the std::move function.

2012-05-25  François Dumont &amp;lt;fdumont&amp;lt; at &amp;gt;gcc.gnu.org&amp;gt;

     * include/bits/stl_tempbuf.h (__uninitialized_construct_buf)
     (__uninitialized_construct_buf_dispatch&amp;lt;&amp;gt;::__ucr): Fix to work
     with iterator returning rvalue.
     * testsuite/25_algorithms/stable_sort/3.cc: New.

Tested under x86_64 linux with make check and make CXXFLAGS=-std=c++11 
check.

Ok to commit ?

François
&lt;/pre&gt;</description>
    <dc:creator>François Dumont</dc:creator>
    <dc:date>2012-05-25T20:42:03</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24338">
    <title>iter_swap on move_iterator</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24338</link>
    <description>&lt;pre&gt;Hi

     While working on removal of code duplications in algos 
implementation I challenge them with move_iterator. I started with 
stable_sort and it doesn't compile. I summarize the problem to the fact 
that iter_swap can't be used on move_iterator. As, in C++11, iter_swap 
simply forward to swap(*__a, *__b) it is normal that it can't accept 
rvalue but shouldn't iter_swap be adapted to accept move_iterator ?

     I also find the compilation error message surprising. I have added 
a call to iter_swap in 24_iterators/move_iterator/greedy_ops.cc and the 
error message is:

In file included from 
/home/fdt/dev/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/bits/char_traits.h:41:0, 

                  from 
/home/fdt/dev/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ios:41, 

                  from 
/home/fdt/dev/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ostream:40, 

                  from 
/home/fdt/dev/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/iterator:64, 

&lt;/pre&gt;</description>
    <dc:creator>François Dumont</dc:creator>
    <dc:date>2012-05-17T17:53:55</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24316">
    <title>[v3] fix libstdc++/53263</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24316</link>
    <description>&lt;pre&gt;Here is a patch for PR 53263.

I have also generalize the idea of performing checks on unsafe iterators 
for better performance to several other debug checks.

2012-05-09  François Dumont &amp;lt;fdumont&amp;lt; at &amp;gt;gcc.gnu.org&amp;gt;

     PR libstdc++/53263
     * include/debug/safe_iterator.h (__gnu_debug::__base): Move...
     * include/debug/functions.h: ... Here. Add debug function
     overloads to perform checks on normal iterators when possible.
     * include/debug/macros.h (__glibcxx_check_heap,
     __glibcxx_check_heap_pred): Use __gnu_debug::__base on iterator range.


Tested under linux x86_64 debug mode.

Ok for trunk and 4.7 branch ?

François

&lt;/pre&gt;</description>
    <dc:creator>François Dumont</dc:creator>
    <dc:date>2012-05-09T21:02:13</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24283">
    <title>Thoughts on supporting the C++11 thread library on Windows</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24283</link>
    <description>&lt;pre&gt;For GCC 4.7 I enabled most of &amp;lt;thread&amp;gt; (without timed mutexes) on Mac
OS X by making the _GLIBCXX_HAS_GTHREADS macro more fine-grained.  I
think we could quite easily do the same again for the win32 thread
model (defined in gthr-win32.h) so that &amp;lt;thread&amp;gt; and &amp;lt;mutex&amp;gt; are
available (including timed mutexes), but without &amp;lt;condition_variable&amp;gt;
and &amp;lt;future&amp;gt;.

It's harder to support &amp;lt;condition_variable&amp;gt; because Windows didn't
provide condition variables until Vista, and even then they interact
with a CRITICAL_SECTION and gthr-win32.h defines mutexes in terms of a
semaphore not a critical section.  Douglas Schmidt describes an
implementation of condition variables at
http://www.cs.wustl.edu/~schmidt/win32-cv-1.html but that also
requires mutexes to be critical sections - maybe that could be adapted
to use the gthr-win32.h semaphore-based definition of
__gthread_mutex_t, I haven't looked into it in detail.   My suggestion
would be to support &amp;lt;thread&amp;gt; and &amp;lt;mutex&amp;gt; but not &amp;lt;condition_variable&amp;gt;
(or &amp;lt;future&amp;gt; because our i&lt;/pre&gt;</description>
    <dc:creator>Jonathan Wakely</dc:creator>
    <dc:date>2012-05-05T22:59:08</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24279">
    <title>GNU Tools Cauldron 2012 - Hotels and registered presentations</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24279</link>
    <description>&lt;pre&gt;
An update on the GNU Tools Cauldron (http://gcc.gnu.org/wiki/cauldron2012)

We have published an initial schedule for the workshop.  It is
available at http://gcc.gnu.org/wiki/cauldron2012.

Presenters, please double-check your entries.  If you find
anything missing or wrong, please contact me and I will correct
it.


Thank you.

&lt;/pre&gt;</description>
    <dc:creator>Diego Novillo</dc:creator>
    <dc:date>2012-05-03T20:05:21</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24276">
    <title>[v3] doxygen markup for template parameters</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24276</link>
    <description>&lt;pre&gt;
In libstdc++/44015, there is a request for doxygen markup on template
parameters, including default arguments. This is a kind of markup that
libstdc++ has mostly not done, or done inconsistently.

So, here's how I think it should be done, at least for io and
containers. 

See generated files here:
http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html

tested x86/linux

-benjamin&lt;/pre&gt;</description>
    <dc:creator>Benjamin De Kosnik</dc:creator>
    <dc:date>2012-05-03T16:29:40</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24267">
    <title>[v3] hashtable fw decl fix</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24267</link>
    <description>&lt;pre&gt;
This patchlette needed for versioned builds, just makes
declaration/foward declaration consistent.

-benjamin

tested x86/linux
tested x86/linux versioned namespaces&lt;/pre&gt;</description>
    <dc:creator>Benjamin De Kosnik</dc:creator>
    <dc:date>2012-05-02T16:38:34</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24261">
    <title>[v3] Completely fix libstdc++/51795 in mainline</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24261</link>
    <description>&lt;pre&gt;Hi,

contributed by Marc (thanks Again!) and integrated by me. Tested 
x86_64-linux, multilib. Committed to mainline.

Thanks,
Paolo.

///////////////////////////
2012-04-29  Marc Glisse  &amp;lt;marc.glisse&amp;lt; at &amp;gt;inria.fr&amp;gt;
    Paolo Carlini  &amp;lt;paolo.carlini&amp;lt; at &amp;gt;oracle.com&amp;gt;

PR libstdc++/51795
* include/bits/stl_algobase.h (__lg&amp;lt;&amp;gt;(_Size)): Remove.
(__lg(int), __lg(unsigned), __lg(long), __lg(unsigned long),
__lg(long long), __lg(unsigned long long)): Define constexpr.
* include/bits/random.h (_Mod&amp;lt;&amp;gt;): Overcome Schrage's algorithm
limitations.
(__mod): Adjust.
(linear_congruential): Remove FIXME static_assert.
* include/bits/random.tcc (_Mod&amp;lt;&amp;gt;): Adjust.
* testsuite/26_numerics/random/linear_congruential_engine/operators/
51795.cc: New.
Index: include/bits/stl_algobase.h
===================================================================
--- include/bits/stl_algobase.h(revision 186943)
+++ include/bits/stl_algobase.h(working copy)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -975,37 +975,27 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
   /// This is a helper function for the sort routines and f&lt;/pre&gt;</description>
    <dc:creator>Paolo Carlini</dc:creator>
    <dc:date>2012-04-29T23:37:43</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24260">
    <title>[v3] constrain std::function constructor to only accept callable types</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24260</link>
    <description>&lt;pre&gt;Currently we only constrain std::function's constructor to reject
integral arguments, this patch changes it to reject non-callable
arguments.  This is the proposed resolution of LWG 2132, I had already
planned to do this anyway before the issue was opened so I don't see
any need to wait for a DR.

        * include/std/functional (function::function(F)): LWG 2132: Disable
        constructor if argument isn't callable.
        * testsuite/20_util/function/cons/callable.cc: New.

Tested x86_64-linux, committed to trunk.
commit 0e069c4221d6ed4fda7d10938470c472170dcad7
Author: Jonathan Wakely &amp;lt;jwakely.gcc&amp;lt; at &amp;gt;gmail.com&amp;gt;
Date:   Tue Feb 14 22:22:48 2012 +0000

    * include/std/functional (function::function(F)): LWG 2132: Disable
    constructor if argument isn't callable.
    * testsuite/20_util/function/cons/callable.cc: New.

diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional
index 980c6ab..0edb4f1 100644
--- a/libstdc++-v3/include/std/functional
+++ b/libstdc++-v3/include/&lt;/pre&gt;</description>
    <dc:creator>Jonathan Wakely</dc:creator>
    <dc:date>2012-04-29T23:16:33</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24257">
    <title>PR 53115</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24257</link>
    <description>&lt;pre&gt;Hi

     Here is the patch for this PR. We were using buckets before 
updating them after having inserted equivalents elements one after the 
another.

2012-04-29  François Dumont &amp;lt;fdumont&amp;lt; at &amp;gt;gcc.gnu.org&amp;gt;

     PR libstdc++/53115
     * include/bits/hashtable.h
     (_Hashtable&amp;lt;&amp;gt;::_M_rehash_aux(size_type, false_type)): Fix buckets
     after insertion of several equivalent elements.
     * testsuite/23_containers/unordered_multiset/insert/53115.cc: New.

     Tested undex linux x86_64 in the 4.7 branch, normal and debug mode.

     Ok to commit ?

François
&lt;/pre&gt;</description>
    <dc:creator>François Dumont</dc:creator>
    <dc:date>2012-04-29T10:21:25</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24251">
    <title>Remove algo code duplication</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24251</link>
    <description>&lt;pre&gt;Hi

     Here is an other attempt to remove duplication of code in 
implementation of Standard algos. There are several enhancements on the 
last proposal:

1. No usage of C++11 lambdas anymore, code works fine in C++98 and code 
has been really deleted this time. About 700 lines removed in stl_algo.h 
for instance.

2. Compatible with existing code, code submitted by Christopher last 
time will still compile. To do so I used 
std::iterator_traits&amp;lt;&amp;gt;::reference type so that if the iterator is not 
const then the operator do not have to take const reference or to be 
const qualified neither. For the same reason I have also avoided some 
const qualifiers on the introduced functors.

3. It is less complex than in libstdcxx_so_7 branch: Introduced functors 
always have one operator() so that ambiguity between different overloads 
is impossible. To do so I used 2 techniques:
     - For equal_range and lexicographical_compare algos, the ones that 
really need 2 overloads, I simply pass 2 functors, one to do lhs &amp;lt; r&lt;/pre&gt;</description>
    <dc:creator>François Dumont</dc:creator>
    <dc:date>2012-04-28T08:01:19</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24248">
    <title>Default buffer size of class basic_filebuf</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24248</link>
    <description>&lt;pre&gt;Hello!

I want to figure out the default buffer-size of the class basic_filebuf.
I know the member function pubsetbuf() and it seems to have a great
impact on the performance during file copy.

Question: Where I can find the default buffer size for basic_filebuf?


The standard for C++ doesn't define a member function pubgetbuf() or
something like this, also the member function is_avail() doesn't help
either. I can't find any constant. I know BUFSIZ from &amp;lt;cstdio&amp;gt; and it
defaults on my machine to 8192 Bytes, which performs well for me with
fread()/fwrite() and read()/write().

I doing some testing on simple file copying:
http://stackoverflow.com/questions/10195343/copy-a-file-in-an-sane-safe-and-efficient-way

Thanks
Peter Weber
&lt;/pre&gt;</description>
    <dc:creator>Weber, Peter (Wilken GmbH</dc:creator>
    <dc:date>2012-04-27T11:45:54</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24243">
    <title>_GLIBCXX_USE_INT128</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24243</link>
    <description>&lt;pre&gt;Hello,

I was wondering if it would make sense to test __SIZEOF_INT128__ instead 
of having a configure test that defines _GLIBCXX_USE_INT128 
unconditionally. That would mostly help other compilers trying to use a 
libstdc++ that was installed with gcc.

__float128 doesn't seem to have such a macro that can be tested :-(

&lt;/pre&gt;</description>
    <dc:creator>Marc Glisse</dc:creator>
    <dc:date>2012-04-25T08:55:19</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24238">
    <title>[v3] libstdc++/53080</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24238</link>
    <description>&lt;pre&gt;Hi,

this is what I'm about to commit, pretty straightforward. Tested 
x86_64-linux.

Thanks,
Paolo.

///////////////////////////
2012-04-23  Paolo Carlini  &amp;lt;paolo.carlini&amp;lt; at &amp;gt;oracle.com&amp;gt;

PR libstdc++/53080
* include/std/array (tuple_element, get): static_assert I &amp;lt; N.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
New.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
* testsuite/23_containers/array/tuple_interface/tuple_element.cc: Fix.
Index: include/std/array
===================================================================
--- include/std/array(revision 186692)
+++ include/std/array(working copy)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,6 +1,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // &amp;lt;array&amp;gt; -*- C++ -*-
 
-// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012
+// Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -261,23 +262&lt;/pre&gt;</description>
    <dc:creator>Paolo Carlini</dc:creator>
    <dc:date>2012-04-23T11:24:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24237">
    <title>[testsuite] PR 53046</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24237</link>
    <description>&lt;pre&gt;Hi,

tested x86_64-linux, committed.

Paolo.

///////////////////
2012-04-23  Chris Jefferson  &amp;lt;chris&amp;lt; at &amp;gt;bubblescope.net&amp;gt;

PR testsuite/53046
* testsuite/25_algorithms/stable_partition/mem_check.cc: Fix size
of array A.
* testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
Index: testsuite/25_algorithms/stable_partition/mem_check.cc
===================================================================
--- testsuite/25_algorithms/stable_partition/mem_check.cc(revision 186692)
+++ testsuite/25_algorithms/stable_partition/mem_check.cc(working copy)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,4 +1,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2012 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -31,7 +31,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 typedef test_container&amp;lt;copy_tracker, random_access_iterator_wrapper&amp;gt; Container;
 
 const int A[] = {10, 20, 1, 11, 2, 21, 28, 29, 12, 35, 15, 27, 6, 16, 7, 
-              &lt;/pre&gt;</description>
    <dc:creator>Paolo Carlini</dc:creator>
    <dc:date>2012-04-23T11:18:23</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24236">
    <title>[v3] libstdc++/53067</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24236</link>
    <description>&lt;pre&gt;Hi,

tested x86_64-linux, committed mainline and branch.

Thanks,
Paolo.

///////////////////////
2012-04-22  Paolo Carlini  &amp;lt;paolo.carlini&amp;lt; at &amp;gt;oracle.com&amp;gt;

PR libstdc++/53067
* include/bits/hashtable_policy.h: Change inheritances to public.
* testsuite/23_containers/unordered_map/requirements/53067.cc: New.
* testsuite/23_containers/unordered_set/requirements/53067.cc: Likewise.
Index: include/bits/hashtable_policy.h
===================================================================
--- include/bits/hashtable_policy.h(revision 186674)
+++ include/bits/hashtable_policy.h(working copy)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -882,7 +882,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
   /// Specialization using EBO.
   template&amp;lt;int _Nm, typename _Tp&amp;gt;
-    struct _Hashtable_ebo_helper&amp;lt;_Nm, _Tp, true&amp;gt; : private _Tp
+    struct _Hashtable_ebo_helper&amp;lt;_Nm, _Tp, true&amp;gt;
+    // See PR53067.
+    : public _Tp
     {
       _Hashtable_ebo_helper() = default;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -949,8 +951,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   template&amp;lt;typename _Key, typename _Value, typename _ExtractKey,
    typename _H1, typename _H2, typename _Hash&amp;gt;&lt;/pre&gt;</description>
    <dc:creator>Paolo Carlini</dc:creator>
    <dc:date>2012-04-22T17:39:08</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24234">
    <title>[v3] fix libstdc++/53027</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24234</link>
    <description>&lt;pre&gt;        * include/bits/ptr_traits.h (pointer_traits::rebind): Make public.
        * testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check
        rebind works.

Tested x86_64linux, committed to trunk and will commit to 4.7 soon.
commit 6141cdceb14025ef258b8809301558f5962bf7ab
Author: Jonathan Wakely &amp;lt;jwakely.gcc&amp;lt; at &amp;gt;gmail.com&amp;gt;
Date:   Fri Apr 20 09:13:44 2012 +0100

    * include/bits/ptr_traits.h (pointer_traits::rebind): Make public.
    * testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check
    rebind works.

diff --git a/libstdc++-v3/include/bits/ptr_traits.h b/libstdc++-v3/include/bits/ptr_traits.h
index 7f120b1..bba9b49 100644
--- a/libstdc++-v3/include/bits/ptr_traits.h
+++ b/libstdc++-v3/include/bits/ptr_traits.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -140,14 +140,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; _GLIBCXX_HAS_NESTED_TYPE(difference_type)
       /// Type used to represent the difference between two pointers
       typedef typename __ptrtr_diff_type&amp;lt;_Ptr&amp;gt;::__type  difference_type;
 
-    private:
       template&amp;lt;typename _Up&amp;gt;
         using r&lt;/pre&gt;</description>
    <dc:creator>Jonathan Wakely</dc:creator>
    <dc:date>2012-04-22T13:44:58</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24231">
    <title>[v3] libstdc++/53052</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24231</link>
    <description>&lt;pre&gt;Hi,

tested x86_64-linux, committed.

Thanks,
Paolo.

//////////////////////
2012-04-20  Paolo Carlini  &amp;lt;paolo.carlini&amp;lt; at &amp;gt;oracle.com&amp;gt;

PR libstdc++/53052
* include/std/type_traits (is_explicitly_convertible): Remove.
* testsuite/20_util/is_explicitly_convertible: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adjust dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
Index: include/std/type_traits
===================================================================
--- include/std/type_traits(revision 186615)
+++ include/std/type_traits(working copy)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1281,13 +1281,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
        __is_convertible_helper&amp;lt;_From, _To&amp;gt;::value&amp;gt;
     { };
 
-  /// is_explicitly_convertible
-  template&amp;lt;typename _From, typename _To&amp;gt;
-    struct is_explicitly_convertible
-    : public is_constructible&amp;lt;_To, _From&amp;gt;
-    { };
 
-
   // const-volatile modifications.
 
   /// remove_const
Index: test&lt;/pre&gt;</description>
    <dc:creator>Paolo Carlini</dc:creator>
    <dc:date>2012-04-20T09:41:45</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24224">
    <title>[PATCH] fix libstdc++/52604 : __freelist::~__freelist re-initializes _M_thread_freelist</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24224</link>
    <description>&lt;pre&gt;   All,

The attached patch re-initializes _M_thread_freelist in 
__freelist::~__freelist just after calling
   ::operator delete(static_cast&amp;lt;void*&amp;gt;(_M_thread_freelist_array));

It avoids valgrind errors in __pool&amp;lt;true&amp;gt;::_M_get_thread_id() later invoked.

Testcases :
   ext/mt_allocator/deallocate_global_thread-1.cc
   ext/mt_allocator/deallocate_global_thread-3.cc

Tested on x86_64-linux (make check, make check-performance).

Laurent

PS : Already approved by Paolo Carlini under the 52604 discussions.
Index: src/c++98/mt_allocator.cc
===================================================================
--- src/c++98/mt_allocator.cc    (revision 186374)
+++ src/c++98/mt_allocator.cc    (working copy)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -48,6 +48,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     {
       __gthread_key_delete(_M_key);
       ::operator delete(static_cast&amp;lt;void*&amp;gt;(_M_thread_freelist_array));
+      _M_thread_freelist = 0;
     }
     }
   };
&lt;/pre&gt;</description>
    <dc:creator>Laurent Alfonsi</dc:creator>
    <dc:date>2012-04-19T08:37:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24219">
    <title>Strange behavior of libstdc++ regression test</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24219</link>
    <description>&lt;pre&gt;Hi,

I built a cross compiler for arm-none-eabi and ran regression test on QEMU
with command: "make -k check
RUNTESTFLAGS="--target_board=arm-none-eabi-qemu/-mthumb/-mcpu=cortex-m3"".

And then I end up with following strange errors on libstdc++:

make[6]: Entering directory
`/home/build/gcc-4-7-daily-test/build-linux/gcc-final/arm-none-eabi/armv7-r/
thumb/fpu/libstdc++-v3/python'
make[6]: Nothing to be done for `all'.
make[6]: Leaving directory
`/home/build/gcc-4-7-daily-test/build-linux/gcc-final/arm-none-eabi/armv7-r/
thumb/fpu/libstdc++-v3/python'
make[6]: Entering directory
`/home/build/gcc-4-7-daily-test/build-linux/gcc-final/arm-none-eabi/armv7-r/
thumb/fpu/libstdc++-v3'
true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc"
"CC_FOR_TARGET=/home/build/gcc-4-7-daily-test/build-linux/gcc-final/./gcc/xg
cc
-B/home/build/gcc-4-7-daily-test/build-linux/gcc-final/./gcc/"
"CFLAGS=-g -O2  -mthumb -march=armv7-r -mfloat-abi=hard -mfpu=vfpv3-d16"
"CXXFLAGS=-g -O2  -mthumb -march=armv7-r -mfloat-abi=hard
-mfpu=vfpv3-d16" "CFLAGS&lt;/pre&gt;</description>
    <dc:creator>Terry Guo</dc:creator>
    <dc:date>2012-04-19T07:03:53</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24210">
    <title>[v3, testsuite] Fix merging default libstdc++.log</title>
    <link>http://comments.gmane.org/gmane.comp.gcc.libstdc++.devel/24210</link>
    <description>&lt;pre&gt;I've long noticed that libstdc++.log (unlike libstdc++.sum) doesn't
contain log entries for tests run from abi.exp, but hadn't looked
closer, getting used to check libstdc++.log.sep instead which contained
everything I expected.

This weekend, I've observed the same for the prettyprinters.exp failures
reported in PR libstdc++/53006 and decided to investigate.

It turns out that abi_check is the culprit: it emits its own summary in
a style similar to what DejaGnu does:

=== libstdc++-v3 check-abi Summary ===

# of added symbols: 0
# of missing symbols: 0
# of undesignated symbols: 0
# of incompatible symbols: 0

using: baseline_symbols.txt

The header format is similar to what runtest emits, but the detail lines
below are completely different.

This is enought to seriously confuse contrib/dg-extract-results.sh -L
badly enough to assume that this header line ends one variant, which
otherwise only happens when doing multilib testing with intermediate
summaries like

=== libstdc++ Summary for unix ===
&lt;/pre&gt;</description>
    <dc:creator>Rainer Orth</dc:creator>
    <dc:date>2012-04-16T15:03:25</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.gcc.libstdc++.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.gcc.libstdc++.devel</link>
  </textinput>
</rdf:RDF>

