]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc
testsuite_hooks.cc: Remove try_named_locale.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 27_io / basic_ostream / inserters_arithmetic / char / 2.cc
CommitLineData
f63a8495
PC
1// { dg-require-namedlocale "" }
2
23cac885
BK
3// 1999-11-15 Kevin Ediger <kediger@licor.com>
4// test the floating point inserters (facet num_put)
b2dad0e3 5
ba4b172f 6// Copyright (C) 1999, 2002, 2003, 2005 Free Software Foundation, Inc.
b2dad0e3
BK
7//
8// This file is part of the GNU ISO C++ Library. This library is free
9// software; you can redistribute it and/or modify it under the
10// terms of the GNU General Public License as published by the
11// Free Software Foundation; either version 2, or (at your option)
12// any later version.
13
14// This library is distributed in the hope that it will be useful,
15// but WITHOUT ANY WARRANTY; without even the implied warranty of
16// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17// GNU General Public License for more details.
18
19// You should have received a copy of the GNU General Public License along
20// with this library; see the file COPYING. If not, write to the Free
21// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
22// USA.
23
23cac885
BK
24#include <iostream>
25#include <iomanip>
26#include <locale>
b2dad0e3 27#include <sstream>
23cac885 28#include <limits>
fe413112 29#include <testsuite_hooks.h>
b2dad0e3 30
23cac885
BK
31void
32test02()
b2dad0e3 33{
ba4b172f 34 using namespace std;
11f10e6b 35 bool test __attribute__((unused)) = true;
b2dad0e3 36
23cac885
BK
37 // Make sure we can output a long float in fixed format
38 // without seg-faulting (libstdc++/4402)
39 double val2 = 3.5e230;
b2dad0e3 40
23cac885
BK
41 ostringstream os2;
42 os2.precision(3);
43 os2.setf(ios::fixed);
b2dad0e3 44
23cac885 45 // Check it can be done in a locale with grouping on.
f63a8495 46 locale loc2 = locale("de_DE");
23cac885
BK
47 os2.imbue(loc2);
48 os2 << fixed << setprecision(3) << val2 << endl;
49 os2 << endl;
50 os2 << fixed << setprecision(1) << val2 << endl;
b2dad0e3
BK
51}
52
23cac885
BK
53int
54main()
b2dad0e3 55{
3d838e28 56 test02();
b2dad0e3
BK
57 return 0;
58}