Make std::vector<bool> meet C++11 allocator requirements.

	* include/bits/stl_bvector.h (_Bvector_base): Use allocator_traits.
	(_Bvector_base::_Bvector_impl): Use allocator's pointer type.
	(_Bvector_base::_M_end_addr()): Convert to raw pointer.
	(vector<bool>): Use allocator_traits and _M_end_addr. Add allocator
	extended constructors.
	* include/bits/vector.tcc (vector<bool>): Use allocator_traits and
	_M_end_addr.
	* testsuite/23_containers/vector/bool/allocator/copy.cc: New.
	* testsuite/23_containers/vector/bool/allocator/minimal.cc: New.
	* testsuite/23_containers/vector/bool/allocator/noexcept.cc: New.
	* testsuite/23_containers/vector/bool/allocator/copy_assign.cc: New.
	* testsuite/23_containers/vector/bool/allocator/move.cc: New.
	* testsuite/23_containers/vector/bool/allocator/swap.cc: New.
	* testsuite/23_containers/vector/bool/allocator/ext_ptr.cc: New.
	* testsuite/23_containers/vector/bool/allocator/move_assign.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216988 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/63620
	* config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): Declare.
	* config/i386/i386.c (ix86_use_pseudo_pic_reg): Export.
	* config/i386/i386.md (*pushtf): Allow only CONST_DOUBLEs that won't
	be reloaded through memory.
	(*pushxf): Ditto.
	(*pushdf): Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216990 138bc75d-0d04-0410-961f-82ee72b054a4
	PR target/63702
	* config/i386/i386.c (ix86_expand_args_builtin): Remove extra
	assignment to 'nargs' variable.



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