gcc/libstdc++-v3/include/bits
Paolo Carlini 91675f9d25 re PR libstdc++/12352 (Exception safety problems in src/localename.cc)
2003-09-25  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/12352
	* src/localename.cc (locale::_Impl::_Impl(const _Impl&,
	size_t)): Don't leak if memory allocations for _M_facets,
	_M_caches, and _M_names fail.
	(locale::_Impl::_Impl(const char*, size_t)): Ditto.
	(locale::_Impl::_M_replace_categories(const _Impl*,
	category)): Ditto.
	(locale::_Impl::_M_install_facet(const locale::id*,
	const facet*)): Ditto.
	* include/bits/locale_classes.h (locale::locale(const locale&,
	_Facet*)): Don't leak memory.
	* testsuite/22_locale/locale/cons/12352.cc: New, from the PR.

	* src/localename.cc (locale::_Impl::_Impl(facet**, size_t,
	bool)): Qualify with std:: strcpy, tweak.
	* include/bits/locale_classes.h
	(locale::_Impl::_M_check_same_name): Qualify strcmp.

From-SVN: r71808
2003-09-26 00:22:01 +00:00
..
allocator.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
allocator_traits.h allocator_traits.h: Fix doxygen markup. 2003-07-06 04:37:22 +00:00
basic_ios.h basic_ios.h: Remove *_iter typedefs, change num* typedefs to num_*. 2003-08-12 03:46:18 +00:00
basic_ios.tcc basic_ios.h: Remove *_iter typedefs, change num* typedefs to num_*. 2003-08-12 03:46:18 +00:00
basic_string.h basic_string.h (basic_string::insert): Deprecate GNU extension. 2003-07-22 17:57:50 +00:00
basic_string.tcc Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
boost_concept_check.h * include/bits/boost_concept_check.h: 2003-07-21 17:12:09 +00:00
c++config Daily bump. 2003-09-26 00:16:06 +00:00
char_traits.h *** empty log message *** 2003-08-07 23:01:26 +00:00
codecvt.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
concept_check.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
cpp_type_traits.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
demangle.h re PR libstdc++/12365 (include/g++/bits/demangle.h:155: warning: unused parameter 'cv_qualifier') 2003-09-22 14:39:16 +00:00
deque.tcc c_locale.h: Include <cstdlib> and <cstring>. 2003-07-14 02:52:05 +00:00
fstream.tcc fstream.tcc (basic_filebuf::seekoff): Use codecvt::length to handle variable-width stateless encodings correctly. 2003-09-10 13:43:15 +00:00
functexcept.h
gslice.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
gslice_array.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
indirect_array.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
ios_base.h basic_ios.h (copyfmt): Document. 2003-07-11 14:25:09 +00:00
istream.tcc istream.tcc (basic_istream::read, [...]): Avoid redundant setstate(failbit) calls when sentry::operator bool() returns false. 2003-09-22 18:29:56 +00:00
list.tcc stl_list.h: Performance and memory usage improvements. 2003-07-06 00:58:52 +00:00
locale_classes.h re PR libstdc++/12352 (Exception safety problems in src/localename.cc) 2003-09-26 00:22:01 +00:00
locale_facets.h basic_ios.h: Remove *_iter typedefs, change num* typedefs to num_*. 2003-08-12 03:46:18 +00:00
locale_facets.tcc locale_facets.tcc: Tweak to avoid warnings. 2003-09-23 20:03:30 +00:00
localefwd.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
mask_array.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
ostream.tcc basic_ios.h: Remove *_iter typedefs, change num* typedefs to num_*. 2003-08-12 03:46:18 +00:00
slice_array.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
sstream.tcc Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_algo.h stl_algo.h (includes, [...]): Document. 2003-07-15 07:30:29 +00:00
stl_algobase.h stl_algo.h (includes, [...]): Document. 2003-07-15 07:30:29 +00:00
stl_bvector.h c_locale.h: Include <cstdlib> and <cstring>. 2003-07-14 02:52:05 +00:00
stl_construct.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_deque.h c_locale.h: Include <cstdlib> and <cstring>. 2003-07-14 02:52:05 +00:00
stl_function.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_heap.h stl_algo.h (includes, [...]): Document. 2003-07-15 07:30:29 +00:00
stl_iterator.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_iterator_base_funcs.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_iterator_base_types.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_list.h stl_list.h: Document more functions. 2003-07-15 06:15:57 +00:00
stl_map.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_multimap.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_multiset.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_numeric.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_pair.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_queue.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_raw_storage_iter.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_relops.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_set.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_stack.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_tempbuf.h stl_tempbuf.h: Qualify free with std::. 2003-07-14 20:14:49 +00:00
stl_threads.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_tree.h re PR libstdc++/11504 (-Wcast-qual vs. stl_tree) 2003-07-30 15:01:58 +00:00
stl_uninitialized.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stl_vector.h c_locale.h: Include <cstdlib> and <cstring>. 2003-07-14 02:52:05 +00:00
stream_iterator.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
streambuf.tcc Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
streambuf_iterator.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
stringfwd.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
type_traits.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
valarray_after.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
valarray_array.h c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove. 2003-07-30 16:51:51 +00:00
valarray_array.tcc c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove. 2003-07-30 16:51:51 +00:00
valarray_before.h Move from CPP to CXX. 2003-07-05 04:05:45 +00:00
vector.tcc c_locale.h: Include <cstdlib> and <cstring>. 2003-07-14 02:52:05 +00:00