2014-12-03  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/13631
	* include/bits/codecvt.h (codecvt<char, char, mbstate_t>): friend class
	std::messages<char>.
	(codecvt<wchar_t, char, mbstate_t>): friend class
	std::messages<wchar_t>.
	* config/locale/gnu/messages_member.h
	(messages<char>::do_open): Specialized.
	(messages<char>::do_close): Likewise.
	(messages<wchar_t>::do_open): Likewise.
	(messages<wchar_t>::do_close): Likewise.
	* config/locale/gnu/messages_member.cc:
	(messages<char>::do_open): Implement. Use bind_textdomain_codeset based
	on codecvt<char, char, mbstate_t>._M_c_locale_codecvt code set. Use
	internal cache to keep opened domain name with locale information.
	(messages<wchar_t>::do_open): Likewise with
	codecvt<wchar_t, char, mbstate_t>.
	(messages<char>::do_close): Implement. Clean cache information.
	(messages<wchar_t>::do_close): Likewise.
	(get_glibc_msg): New. Use dgettext rather than gettext using cached
	domain name associated to catalog id.
	(messages<char>::do_get): Use latter.
	(messages<wchar_t>::do_get): Likewise and use also cached locale
	codecvt<wchar_t, char, mbstate_t> facet to convert wchar_t default
	value to char and the result back to wchar_t.
	* testsuite/22_locale/messages/13631.cc: New.
	* testsuite/22_locale/messages/members/char/2.cc: Use also fr_FR locale
	for charset conversion to get the expected accented character.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218329 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/gimple.texi (gimple_build_assign_with_ops): Remove.
	(gimple_build_assign): Document the new overloads.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218330 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c/59708
	* expmed.c (expand_widening_mult): Return const0_rtx if
	coeff is 0.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218331 138bc75d-0d04-0410-961f-82ee72b054a4
	* expmed.c (expand_mult): Use std::swap.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218332 138bc75d-0d04-0410-961f-82ee72b054a4