------- Comment #3 from tsyvarev at ispras dot ru 2009-07-13 11:55 ------- (In reply to comment #2) > I think this constructor never ever worked correctly. The only solution I can > see at the moment is consistently dynamically allocating _M_data->_M_grouping, > and copying the characters of __nl_langinfo_l(__MON_GROUPING, __cloc) into it > as part of _M_initialize_moneypunct. Reasonable solution. Actually, I thougth that _M_initialize_moneypunct had already implemented in such way.
As for "we didn't notice the issue much earlier" - it is strange, but in many other cases locale, created with this constructor, behaves correctly(at least, does not cause program to abort and remains internal properties). And this case crashes program not on every system. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40712