François Dumont | 22 Nov 23:15 2014

Problem with messages test ?


     I realized that the fr_FR locale was not installed on my system, 
fr_FR.utf8 is but tests are checking exactly for fr_FR. So I installed 
it and test:


     is failing. This test rely on some translations files to be 
installed for testing purpose. It looks like they are not anymore. I 
remember that there have been some modifications done to the build 
script, can it explain the regression ? Does anyone can confirm it ?



Daniel Krügler | 13 Nov 23:11 2014

[patch] Support embedded zeros in sub_match comparisons (DR 2217)

The attached patch adds support for embedded zeros in strings within
mixed comparison with sub_match objects to bring the library in sync

(This is my first patch performed without asking anyone for help, so
please double-check)


- Daniel
Attachment (dr_2217.patch): application/octet-stream, 5999 bytes
Attachment (changelog.patch): application/octet-stream, 757 bytes
Jonathan Wakely | 12 Nov 15:10 2014

LWG 2217

Hi Tim,

Would you be able to take care of implementing the resolution of LWG 2217?

It was recently resolved as a defect and it looks like we need to fix
our implementation. If you don't have time I can deal with it next


François Dumont | 10 Nov 23:00 2014

Re: Profile mode maintenance patch

On 07/10/2014 16:46, Jonathan Wakely wrote:
> On 06/10/14 22:29 +0200, François Dumont wrote:
>> So last question, I don't know how to present the patch in the 
>> ChangeLog. Can I go with simply this:
> No, that's not a valid changelog entry.
I finally committed with

2014-11-10  François Dumont  <fdumont <at>>

     Major maintenance patch of the profile mode.
     * include/profile/impl/profiler_container_size.h
     (__container_size_info()): Delete.
     (__container_size_info(const __container_size_info&)): Delete.
     (virtual ~__container_size_info()): Delete.
     (__container_size_info(__stack_t, size_t)): Delete.
     (__container_size_info(__stack_t)): New.
     (__container_size_info::__init(size_t)): New.
     (__container_size_info::__merge): Call __object_info_base::__merge.
     (__trace_container_size::__construct): Delete declaration.
     (__trace_container_size::__insert): Return __container_size_info*,
     call __init.
     * include/profile/impl/profiler_hash_func.h
     (__hashfunc_into()): Delete.
     (__hashfunc_info(const __hashfunc_info&)): Delete.
     (virtual ~__hashfunc_info()): Delete.
     (__hashfunc_info::__merge): Call __object_info_base::__merge.
     (__trace_hash_func::__insert): Delete.
(Continue reading)

Pankaj Chauhan | 6 Nov 03:41 2014

Proprietary software with modified version of libstdc++..


I wanted to get your opinion about shipping proprietary software built 
with a version of libstdc++ that we had to modify to address the bug below.

This has hit us really hard, manifesting in multiple, painful to debug 

Does the GPL+exceptions license of libstdc++ allow use to ship our 
software, where we have modified the version of fstream? If not, it 
effectively means we have to invent our own fstream, or use plain C 
style file I/O.



Ed Smith-Rowland | 5 Nov 19:26 2014

Add uniform_inside_sphere_distribution

This distribution has come in handy for me.

It relies on uniform_on_sphere_distribution and like it, min and max 
have no real meaning.
Unlike uniform_on_sphere_distribution which really is a random 
multidimensional unit vector users often want to pick the radius of the 
Unit radius is a good default and is provided but the user can specify 

Like the uniform_on_sphere_distribution which is used inside, the 
2-dimensional case uses rejection and higher dimensions use a transform.

Built and tested clean on x86_64-linux.



2014-09-05  Edward Smith-Rowland  <3dw4rd <at>>

	* include/ext/random: Add uniform_inside_sphere_distribution.
	* include/ext/random.tcc: Out-of-line implementation of
	* testsuite/ext/random/uniform_inside_sphere_distribution/cons/ New.
	* testsuite/ext/random/uniform_inside_sphere_distribution/cons/ New.
(Continue reading)

Linda A. Walsh | 31 Oct 22:51 2014

problem in nested include -- missing a definition?

I'm getting the following error:
In file included from /usr/include/features.h:364:0,
                 from /usr/include/limits.h:25,
                 from /usr/include/c++/4.8/climits:41,
                 from fieldmetergraph.h:13,
/usr/include/assert.h:64:1: error: expected unqualified-id before string 
In file included from fieldmetergraph.h:17:0,
lines from assert.h:

(#48)#ifdef    NDEBUG
(#62)#else /* Not NDEBUG.  */
(#66)/* This prints an "Assertion failed" message and aborts.  */
(#67)extern void __assert_fail (const char *__assertion, const char *__file,
               unsigned int __line, const char *__function)
(Continue reading)

James Benze | 31 Oct 17:07 2014

"Interesting" behavior in std::locale

Hey all:

I found some code in libstdc++ that, while I understand what it does,
I'm not understand why it's programmed the way it is, and I was hoping
someone could shed some light on the behavior...I was hoping someone
would be bored at work today and wouldn't mind spending the time to
satisfy my curiosity.

The function is std::locale::classic() (in  It
seems to me to be a singleton pattern, but implemented in a strange
way.  First it initializes _S_classic, using a normal singleton
initialization pattern.  No big deal there.  Then, it uses placement
new to create the new c_locale object and then return it.  Every time.

So my question is, why wasn't this programmed with an if check to see
if the singleton is already initialized?  I made a quick test program:



std::locale::_Impl*       _S_classic;

typedef char fake_locale[sizeof(std::locale)]
__attribute__ ((aligned(__alignof__(std::locale))));
fake_locale c_locale;

std::locale * global = NULL;

int main()
(Continue reading)

Jonathan Wakely | 29 Oct 19:40 2014

[patch] Use perfect forwarding in std::function's invokers

As pointed out in our
std::function does more copying/moving than necessary. The solution is
to use perfect forwarding for the internal invoker functions, even if
function<R(Args...)::operator() and the target function take their
arguments by value.

Tested x86_64-linux, committed to trunk.
Attachment (patch.txt): text/x-patch, 5170 bytes
Jonathan Wakely | 23 Oct 18:55 2014

[patch] Update libstdc++ status docs

Committed to trunk.
Attachment (patch.txt): text/x-patch, 2282 bytes
Tim Shen | 22 Oct 19:55 2014

Re: [patch] LWG 2019 - std::isblank<C>(C, const std::locale&)

On Tue, Oct 21, 2014 at 4:15 PM, Jonathan Wakely <jwakely.gcc <at>> wrote:
> The example  implementation shows that "w" needs special handling to match
> underscore as well as the members of the alnum class.

Oh sorry for missing that; then the change looks good to me.


Tim Shen