| Index: gcc/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc
|
| diff --git a/gcc/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc b/gcc/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc
|
| deleted file mode 100644
|
| index 83da0d2802e2673a6f183994f99ca09f9f91aa06..0000000000000000000000000000000000000000
|
| --- a/gcc/libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc
|
| +++ /dev/null
|
| @@ -1,163 +0,0 @@
|
| -// { dg-require-namedlocale "" }
|
| -
|
| -// 2001-11-19 Benjamin Kosnik <bkoz@redhat.com>
|
| -
|
| -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
|
| -// Free Software Foundation
|
| -//
|
| -// 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
|
| -// <http://www.gnu.org/licenses/>.
|
| -
|
| -// 22.2.2.2.1 num_put members
|
| -
|
| -#include <locale>
|
| -#include <sstream>
|
| -#include <testsuite_hooks.h>
|
| -
|
| -void test01()
|
| -{
|
| - using namespace std;
|
| - typedef ostreambuf_iterator<wchar_t> iterator_type;
|
| -
|
| - bool test __attribute__((unused)) = true;
|
| -
|
| - // basic construction
|
| - locale loc_c = locale::classic();
|
| - locale loc_de = locale("de_DE");
|
| - VERIFY( loc_c != loc_de );
|
| -
|
| - // cache the numpunct facets
|
| - const numpunct<wchar_t>& numpunct_de = use_facet<numpunct<wchar_t> >(loc_de);
|
| -
|
| - // sanity check the data is correct.
|
| - const wstring empty;
|
| - wstring result1;
|
| - wstring result2;
|
| -
|
| - bool b1 = true;
|
| - bool b0 = false;
|
| - unsigned long ul1 = 1294967294;
|
| - double d1 = 1.7976931348623157e+308;
|
| - double d2 = 2.2250738585072014e-308;
|
| - long double ld1 = 1.7976931348623157e+308;
|
| - long double ld2 = 2.2250738585072014e-308;
|
| - const void* cv = &ld1;
|
| -
|
| - // cache the num_put facet
|
| - wostringstream oss;
|
| - oss.imbue(loc_de);
|
| - const num_put<wchar_t>& np = use_facet<num_put<wchar_t> >(oss.getloc());
|
| -
|
| - // bool, simple
|
| - iterator_type os_it00 = oss.rdbuf();
|
| - iterator_type os_it01 = np.put(os_it00, oss, L'+', b1);
|
| - result1 = oss.str();
|
| - VERIFY( result1 == L"1" );
|
| -
|
| - oss.str(empty);
|
| - np.put(oss.rdbuf(), oss, L'+', b0);
|
| - result2 = oss.str();
|
| - VERIFY( result2 == L"0" );
|
| -
|
| - // ... and one that does
|
| - oss.imbue(loc_de);
|
| - oss.str(empty);
|
| - oss.clear();
|
| - oss.width(20);
|
| - oss.setf(ios_base::left, ios_base::adjustfield);
|
| - np.put(oss.rdbuf(), oss, L'+', ul1);
|
| - result1 = oss.str();
|
| - VERIFY( result1 == L"1.294.967.294+++++++" );
|
| -
|
| - // double
|
| - oss.str(empty);
|
| - oss.clear();
|
| - oss.width(20);
|
| - oss.setf(ios_base::left, ios_base::adjustfield);
|
| - np.put(oss.rdbuf(), oss, L'+', d1);
|
| - result1 = oss.str();
|
| - VERIFY( result1 == L"1,79769e+308++++++++" );
|
| -
|
| - oss.str(empty);
|
| - oss.clear();
|
| - oss.width(20);
|
| - oss.setf(ios_base::right, ios_base::adjustfield);
|
| - np.put(oss.rdbuf(), oss, L'+', d2);
|
| - result1 = oss.str();
|
| - VERIFY( result1 == L"++++++++2,22507e-308" );
|
| -
|
| - oss.str(empty);
|
| - oss.clear();
|
| - oss.width(20);
|
| - oss.setf(ios_base::right, ios_base::adjustfield);
|
| - oss.setf(ios_base::scientific, ios_base::floatfield);
|
| - np.put(oss.rdbuf(), oss, L'+', d2);
|
| - result2 = oss.str();
|
| - VERIFY( result2 == L"+++++++2,225074e-308" );
|
| -
|
| - oss.str(empty);
|
| - oss.clear();
|
| - oss.width(20);
|
| - oss.precision(10);
|
| - oss.setf(ios_base::right, ios_base::adjustfield);
|
| - oss.setf(ios_base::scientific, ios_base::floatfield);
|
| - oss.setf(ios_base::uppercase);
|
| - np.put(oss.rdbuf(), oss, L'+', d2);
|
| - result1 = oss.str();
|
| - VERIFY( result1 == L"+++2,2250738585E-308" );
|
| -
|
| - // long double
|
| - oss.str(empty);
|
| - oss.clear();
|
| - np.put(oss.rdbuf(), oss, L'+', ld1);
|
| - result1 = oss.str();
|
| - VERIFY( result1 == L"1,7976931349E+308" );
|
| -
|
| - oss.str(empty);
|
| - oss.clear();
|
| - oss.precision(0);
|
| - oss.setf(ios_base::fixed, ios_base::floatfield);
|
| - np.put(oss.rdbuf(), oss, L'+', ld2);
|
| - result1 = oss.str();
|
| - VERIFY( result1 == L"0" );
|
| -
|
| - // const void*
|
| - oss.str(empty);
|
| - oss.clear();
|
| - np.put(oss.rdbuf(), oss, L'+', cv);
|
| - result1 = oss.str();
|
| - // No grouping characters.
|
| - VERIFY( !char_traits<wchar_t>::find(result1.c_str(),
|
| - result1.size(),
|
| - numpunct_de.decimal_point()) );
|
| - // Should contain an 'x'.
|
| - VERIFY( result1.find(L'x') == 1 );
|
| -
|
| -#ifdef _GLIBCXX_USE_LONG_LONG
|
| - long long ll1 = 9223372036854775807LL;
|
| -
|
| - oss.str(empty);
|
| - oss.clear();
|
| - np.put(oss.rdbuf(), oss, L'+', ll1);
|
| - result1 = oss.str();
|
| - VERIFY( result1 == L"9.223.372.036.854.775.807" );
|
| -#endif
|
| -}
|
| -
|
| -int main()
|
| -{
|
| - test01();
|
| - return 0;
|
| -}
|
|
|