From 2baf72b16cb8b8510bd5408fd064d7f04f349cb5 Mon Sep 17 00:00:00 2001 From: paolo Date: Thu, 10 Dec 2009 17:17:41 +0000 Subject: [PATCH] 2009-12-10 Paolo Carlini Revert: 2009-12-03 Paolo Carlini PR libstdc++/42261 * include/bits/basic_string.h (_S_construct_aux(_Integer, _Integer, const _Alloc&, __true_type)): Cast the second argument to value_type. * include/ext/sso_string_base.h (_M_construct_aux(_Integer, _Integer, std::__true_type)): Likewise. * include/ext/rc_string_base.h (_S_construct_aux(_Integer, _Integer, const _Alloc&, std::__true_type)): Likewise. * testsuite/21_strings/basic_string/cons/char/42261.cc: New. * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155132 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 17 ++++++++++- libstdc++-v3/include/bits/basic_string.h | 3 +- libstdc++-v3/include/ext/rc_string_base.h | 3 +- libstdc++-v3/include/ext/sso_string_base.h | 3 +- .../21_strings/basic_string/cons/char/42261.cc | 35 ---------------------- .../21_strings/basic_string/cons/wchar_t/42261.cc | 35 ---------------------- 6 files changed, 19 insertions(+), 77 deletions(-) delete mode 100644 libstdc++-v3/testsuite/21_strings/basic_string/cons/char/42261.cc delete mode 100644 libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/42261.cc diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 22970112aa4..75663202252 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,7 +1,22 @@ 2009-12-10 Paolo Carlini + Revert: + 2009-12-03 Paolo Carlini + + PR libstdc++/42261 + * include/bits/basic_string.h (_S_construct_aux(_Integer, _Integer, + const _Alloc&, __true_type)): Cast the second argument to value_type. + * include/ext/sso_string_base.h (_M_construct_aux(_Integer, _Integer, + std::__true_type)): Likewise. + * include/ext/rc_string_base.h (_S_construct_aux(_Integer, _Integer, + const _Alloc&, std::__true_type)): Likewise. + * testsuite/21_strings/basic_string/cons/char/42261.cc: New. + * testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise. + +2009-12-10 Paolo Carlini + * testsuite/util/testsuite_containers.h (populate<>::populate(_Tp&)): - Avoid used uninitialized warning. + Avoid used uninitialized warning. * include/ext/pb_ds/detail/cc_hash_table_map_/ constructor_destructor_fn_imps.hpp: Fix typo causing sequence point warning. diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index a574bf62f87..269a75ed468 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -1588,8 +1588,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) static _CharT* _S_construct_aux(_Integer __beg, _Integer __end, const _Alloc& __a, __true_type) - { return _S_construct(static_cast(__beg), - static_cast(__end), __a); } + { return _S_construct(static_cast(__beg), __end, __a); } template static _CharT* diff --git a/libstdc++-v3/include/ext/rc_string_base.h b/libstdc++-v3/include/ext/rc_string_base.h index c9fdb25317d..6d8c430d575 100644 --- a/libstdc++-v3/include/ext/rc_string_base.h +++ b/libstdc++-v3/include/ext/rc_string_base.h @@ -231,8 +231,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) static _CharT* _S_construct_aux(_Integer __beg, _Integer __end, const _Alloc& __a, std::__true_type) - { return _S_construct(static_cast(__beg), - static_cast(__end), __a); } + { return _S_construct(static_cast(__beg), __end, __a); } template static _CharT* diff --git a/libstdc++-v3/include/ext/sso_string_base.h b/libstdc++-v3/include/ext/sso_string_base.h index 264e862e96a..d88297fc36e 100644 --- a/libstdc++-v3/include/ext/sso_string_base.h +++ b/libstdc++-v3/include/ext/sso_string_base.h @@ -106,8 +106,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) template void _M_construct_aux(_Integer __beg, _Integer __end, std::__true_type) - { _M_construct(static_cast(__beg), - static_cast(__end)); } + { _M_construct(static_cast(__beg), __end); } template void diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/42261.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/42261.cc deleted file mode 100644 index a83b74ac735..00000000000 --- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/42261.cc +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (C) 2009 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 3, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING3. If not see -// . - -#include -#include - -// libstdc++/42261 -void test01() -{ - bool test __attribute__((unused)) = true; - using namespace std; - - const string s(string::size_type(6), string::size_type('f')); - VERIFY( s == "ffffff" ); -} - -int main() -{ - test01(); - return 0; -} diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/42261.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/42261.cc deleted file mode 100644 index 8782e8cafe9..00000000000 --- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/42261.cc +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (C) 2009 Free Software Foundation, Inc. -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 3, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING3. If not see -// . - -#include -#include - -// libstdc++/42261 -void test01() -{ - bool test __attribute__((unused)) = true; - using namespace std; - - const wstring s(wstring::size_type(6), wstring::size_type(L'f')); - VERIFY( s == L"ffffff" ); -} - -int main() -{ - test01(); - return 0; -} -- 2.11.0