gcc/libstdc++-v3/include/bits
Paolo Carlini af90c8c9ae re PR libstdc++/40712 (locale(const locale&, const char*, locale::category) can create broken locale)
2009-07-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40712
	* config/locale/gnu/numeric_members.cc (numpunct<>::
	_M_initialize_numpunct): Dynamically allocate _M_data->_M_grouping
	and copy the langinfo data into it.
	(numpunct<>::~numpunct): Free the allocated memory.
	* config/locale/gnu/monetary_members.cc (moneypunct<>::
	_M_initialize_moneypunct): Dynamically allocate _M_data->_M_grouping,
	_M_data->_M_positive_sign, _M_data->_M_negative_sign,
	_M_data->_M_curr_symbol.
	(moneypunct<>::~moneypunct): Free the allocated memory.
	* testsuite/22_locale/moneypunct/40712.cc: New.

	* include/bits/locale_facets.tcc (__numpunct_cache<>::_M_cache):
	Do not leak memory if new throws.
	* include/bits/locale_facets_nonio.tcc
	(__moneypunct_cache<>::_M_cache): Likewise.

From-SVN: r149782
2009-07-18 22:58:10 +00:00
..
algorithmfwd.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
allocator.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
atomic_0.h re PR libstdc++/40297 ([C++0x] debug mode vs atomics) 2009-06-24 08:06:17 +01:00
atomic_2.h re PR libstdc++/40297 ([C++0x] debug mode vs atomics) 2009-06-24 08:06:17 +01:00
atomicfwd_c.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
atomicfwd_cxx.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
basic_ios.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
basic_ios.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
basic_string.h re PR libstdc++/40518 (data races when calling std::string::erase() on empty string) 2009-06-23 12:36:43 +00:00
basic_string.tcc re PR libstdc++/40518 (data races when calling std::string::erase() on empty string) 2009-06-23 12:36:43 +00:00
boost_concept_check.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
c++config stdatomic.h (atomic_flag_test_and_set_explicit, [...]): Use _GLIBCXX_NOTHROW. 2009-04-19 09:36:10 +00:00
char_traits.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
codecvt.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
concept_check.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
cpp_type_traits.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
deque.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
forward_list.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
forward_list.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
fstream.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
functexcept.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
functional_hash.h condition_variable.cc (condition_variable, [...]): Mark throw() 2009-04-18 21:19:18 +00:00
gslice.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
gslice_array.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
hashtable.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
indirect_array.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
ios_base.h condition_variable.cc (condition_variable, [...]): Mark throw() 2009-04-18 21:19:18 +00:00
istream.tcc istream.tcc (basic_istream<>::operator>>(short&), [...]): Implement resolution of DR 696, [Ready] in Frankfurt. 2009-07-16 12:41:03 +00:00
list.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
locale_classes.h re PR libstdc++/40184 (locale(const char* std_name) can create invalid facets for nonuniform locale) 2009-05-19 18:20:47 +00:00
locale_classes.tcc condition_variable.cc (condition_variable, [...]): Mark throw() 2009-04-18 21:19:18 +00:00
locale_facets.h condition_variable.cc (condition_variable, [...]): Mark throw() 2009-04-18 21:19:18 +00:00
locale_facets.tcc re PR libstdc++/40712 (locale(const locale&, const char*, locale::category) can create broken locale) 2009-07-18 22:58:10 +00:00
locale_facets_nonio.h condition_variable.cc (condition_variable, [...]): Mark throw() 2009-04-18 21:19:18 +00:00
locale_facets_nonio.tcc re PR libstdc++/40712 (locale(const locale&, const char*, locale::category) can create broken locale) 2009-07-18 22:58:10 +00:00
localefwd.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
mask_array.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
move.h move.h: Doxygen group fixes. 2009-06-10 02:14:32 +00:00
ostream.tcc istream.tcc (basic_istream<>::operator>>(short&), [...]): Implement resolution of DR 696, [Ready] in Frankfurt. 2009-07-16 12:41:03 +00:00
ostream_insert.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
postypes.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
random.h random.h (__mod(_Tp)): Use defaults. 2009-06-30 00:43:21 +00:00
random.tcc 2009-06-29 Paolo Carlini <paolo.carlini@oracle.com> 2009-06-30 01:25:52 +00:00
shared_ptr.h shared_ptr.h: Do not swap rvalues. 2009-06-23 23:33:17 +01:00
slice_array.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
sstream.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_algo.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_algobase.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_bvector.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stl_construct.h re PR c++/40192 (Unable to use std::vector with typedef'd array types) 2009-05-18 23:16:20 +00:00
stl_deque.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stl_function.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_heap.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_iterator.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_iterator_base_funcs.h 2009-06-20 Paolo Carlini <paolo.carlini@oracle.com> 2009-06-21 00:57:56 +00:00
stl_iterator_base_types.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_list.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stl_map.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stl_multimap.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stl_multiset.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stl_numeric.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_pair.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stl_queue.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stl_raw_storage_iter.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_relops.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_set.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stl_stack.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stl_tempbuf.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_tree.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stl_uninitialized.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stl_vector.h stl_pair.h (swap): Do not swap rvalues. 2009-05-18 23:15:56 +01:00
stream_iterator.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
streambuf.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
streambuf_iterator.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
stringfwd.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
unique_ptr.h functional (function): Use explicit operator bool. 2009-05-21 01:12:00 +00:00
valarray_after.h re PR libstdc++/40691 (bug in logical not operator for valarray used with slice) 2009-07-08 22:26:50 +00:00
valarray_array.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
valarray_array.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
valarray_before.h Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
vector.tcc Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00