2008-10-18 Douglas Gregor <doug.gregor@gmail.com>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 18 Oct 2008 23:02:17 +0000 (23:02 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 18 Oct 2008 23:02:17 +0000 (23:02 +0000)
commit8e73b3508de83d45b51d776f56b10f8b71b77cf9
treeff25247aece9e9b8e144f8ebe19cfb4acc03bbf2
parent9cb68dd29bba7a5ae926fe42b22f2496d93e436e
2008-10-18  Douglas Gregor  <doug.gregor@gmail.com>

* include/bits/stl_pair.h (__may_be_null_pointer_init): New.
(pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
Remove the old variadic constructor, and instead provide several
variadic constructors that avoid failing when attempting to
initialize a pointer from a null pointer constant.
* testsuite/20_util/pair/moveable.cc (test3): Add new tests with
initialization of pointers from the null pointer constant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141214 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_pair.h
libstdc++-v3/testsuite/20_util/pair/moveable.cc