]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 27_io / basic_ostream / inserters_arithmetic / char / 2.cc
CommitLineData
4216708a 1// { dg-require-namedlocale "de_DE.ISO8859-15" }
f63a8495 2
23cac885
BK
3// 1999-11-15 Kevin Ediger <kediger@licor.com>
4// test the floating point inserters (facet num_put)
b2dad0e3 5
7adcbafe 6// Copyright (C) 1999-2022 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
748086b7 11// Free Software Foundation; either version 3, or (at your option)
b2dad0e3
BK
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
748086b7
JJ
20// with this library; see the file COPYING3. If not see
21// <http://www.gnu.org/licenses/>.
b2dad0e3 22
23cac885
BK
23#include <iostream>
24#include <iomanip>
25#include <locale>
b2dad0e3 26#include <sstream>
23cac885 27#include <limits>
fe413112 28#include <testsuite_hooks.h>
b2dad0e3 29
23cac885
BK
30void
31test02()
b2dad0e3 32{
ba4b172f 33 using namespace std;
b2dad0e3 34
23cac885
BK
35 // Make sure we can output a long float in fixed format
36 // without seg-faulting (libstdc++/4402)
37 double val2 = 3.5e230;
b2dad0e3 38
23cac885
BK
39 ostringstream os2;
40 os2.precision(3);
41 os2.setf(ios::fixed);
b2dad0e3 42
23cac885 43 // Check it can be done in a locale with grouping on.
4216708a 44 locale loc2 = locale(ISO_8859(15,de_DE));
23cac885
BK
45 os2.imbue(loc2);
46 os2 << fixed << setprecision(3) << val2 << endl;
47 os2 << endl;
48 os2 << fixed << setprecision(1) << val2 << endl;
b2dad0e3
BK
49}
50
23cac885
BK
51int
52main()
b2dad0e3 53{
3d838e28 54 test02();
b2dad0e3
BK
55 return 0;
56}