tree d64cb8a82125c1e04e3f22cfff1180b6798f93ae
parent dadbfa9778804265e04cc61ec74db57ea227a2ed
author Martin Sebor <sebor@apache.org> 1252882010 +0000
committer Martin Sebor <sebor@apache.org> 1252882010 +0000

2009-09-13  Martin Sebor  <sebor@apache.org>

	Merged revs 814395, 814400, 814401, 814405, and 814409 from
	branches/4.2.x.

	2009-09-13  Martin Sebor  <sebor@apache.org>

	* tests/regress/23.vector.stdcxx-1037.cpp (Alloc::Alloc(const Alloc&)):
	Corrected syntax to prevent compiler errors. (Does a recent version of
	any compiler actually allow this? Maybe Visual C++?)

	2009-09-13  Martin Sebor  <sebor@apache.org>

	STDCXX-791
	* include/deque.cc (deque::_C_push): Parenthesized logic
	expression to silence gcc -Wparentheses warning.
	* include/list.cc (list::splice): Same.
	* valarray (valarray::valarray(const gslice_array&,
	gslice_array::operator=, gslice_array::operator*=,
	gslice_array::operator/=, gslice_array::operator+=,
	gslice_array::operator-=, gslice_array::operator%=,
	gslice_array::operator^=, gslice_array::operator&=,
	gslice_array::operator|=, gslice_array::operator<<=,
	gslice_array::operator>>=): Same.
	* tests/iostream/27.filebuf.cpp (CodeCvt::do_in): Same.
	* tests/numerics/26.c.math.cp (test_behavior): Same.
	* tests/src/locale.cpp (rw_get_wchars): Same.
	* (UserTraits::lt, UserTraits::compare, UserTraits::copy,
	UserTraits::move): Same.
	* tests/src/cmdopt.cpp (_rw_print_help, _rw_getbounds, rw_runopts):
	Same.
	* tests/src/23.containers.cpp (_rw_sigcat): Same.
	* tests/src/opt_lines.cpp (_rw_enable_line): Same.
	* tests/src/printf.cpp (_rw_fmtstrarray, _rw_vasnprintf_ext,
	_rw_fmtstr): Same.
	* tests/src/opt_trace.cpp (_rw_setopt_trace_mask): Same.
	* tests/localization/22.locale.num.put.cpp (do_test): Same.
	* tests/localization/22.locale.messages.cpp (open_catalog): Same.
	* tests/localization/22.locale.numpunct.cpp (check_numpunct): Same.
	* tests/localization/22.locale.time.get.cpp (do_test): Same.
	* tests/localization/22.locale.money.get.cpp (do_test): Same.
	* tests/localization/22.locale.num.get.cpp (do_test): Same.
	* tests/self/0.fnmatch.cpp (test): Same.
	* tests/strings/21.string.compare.cpp (test_compare): Same.
	* tests/strings/21.string.io.cpp (test_io): Same.
	* tests/containers/23.vector.cons.cpp (test_ctors): Same.
	* tests/algorithms/25.equal.cpp (test_equal): Same.
	* tests/algorithms/25.transform.cpp (gen_test): Same.
	* tests/algorithms/25.replace.cpp (test_replace): Same.
	* util/collate.cpp (Def::process_order_stmt): Same.
	* examples/tutorial/icecream.cpp (irand): Same.
	* tests/support/18.numeric.special.float.cpp (VERIFY_FUNCTION): Same.
	* tests/iostream/27.filebuf.codecvt.cpp (cformat::do_in): Same.
	(run_test): Changed the type of a local to silence gcc's
	-Wsign-compare warnings.
	* include/rw/_ioiter.h (istreambuf_iterator::equal): Simplified
	expression to silence gcc -Wparentheses warning and to help gcc
	generate more optimal code (see
	http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38126).
	* tests/iostream/27.istream.sentry.cpp (test_ok): Same.

	2009-09-13  Martin Sebor  <sebor@apache.org>

	STDCXX-791
	* include/valarray (valarray::valarray(const gslice_array&,
	gslice_array::operator=, gslice_array::operator*=,
	gslice_array::operator/=, gslice_array::operator+=,
	gslice_array::operator-=, gslice_array::operator%=,
	gslice_array::operator^=, gslice_array::operator&=,
	gslice_array::operator|=, gslice_array::operator<<=,
	gslice_array::operator>>=): Parenthesized logic expression
	to silence gcc -Wparentheses warning. (Missed in r814400).

	2009-09-13  Martin Sebor  <sebor@apache.org>

	STDCXX-791
	* tests/src/char.cpp (UserTraits::lt, UserTraits::compare,
	UserTraits::copy, UserTraits::move): Parenthesized logic expression
	to silence gcc -Wparentheses warning. (Missed in r814400).

	2009-09-13  Martin Sebor  <sebor@apache.org>

	* tests/localization/22.locale.ctype.tolower.cpp (locale_list): Removed
	unused global variable to silence gcc -Wshadow warnings.
	* tests/localization/22.locale.messages.mt.cpp (run_test): Silenced
	gcc's -Wunused warning, corrected a logic error in a preprocessor
	conditional and fixed a typo.
	* tests/localization/22.locale.statics.mt.cpp (test_global): Changed
	type of a local variable to avoid gcc's -Wsign-compare warnings.
	* tests/regress/22.locale.messages.stdcxx-542.cpp (run_test): Same.
	* tests/containers/23.bitset.cpp (test_ctors, stress_ctors,
	test_operators, test_other, stress_count, test_elem_access,
	test_to_string): Corrected formatting directive for size_t argument.
	* tests/regress/23.set.stdcxx-216.cpp (Value::Value(unsigned): Renamed
	a function formal argument to avoid a gcc -Wshadow warning. Removed
	commented out debugging code.
	* tests/regress/21.string.append.stdcxx-438.cpp (operator new): Threw
	std::bad_alloc on failure as required instead of returning null to
	silence a gcc warning.
	* tests/regress/21.string.replace.stdcxx-175.cpp (main): Removed
	unused arguments to silence gcc -Wunused warnings.
	* tests/regress/23.list.special.stdcxx-334.cpp (operator==, operator!=,
	main): Same.
	* tests/regress/23.list.insert.stdcxx-331.cpp (main): Same.
	* tests/regress/21.string.stdcxx-466.cpp (main): Same.
	* tests/regress/23.list.cons.stdcxx-268.cpp (main): Same.
	* util/locale.cpp (write_coll_info): Removed an empty else branch
	to silence a gcc -Wmissing-braces warning.
	* util/exec.cpp (wait_for_child): Added braces to silence a gcc
	-Wmissing-braces warning.


git-svn-id: https://svn.apache.org/repos/asf/stdcxx/trunk@814419 13f79535-47bb-0310-9956-ffa450edef68
