]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 27_io / basic_ostream / inserters_arithmetic / wchar_t / 6.cc
CommitLineData
8d9254fc 1// Copyright (C) 2005-2020 Free Software Foundation, Inc.
ba4b172f
PC
2//
3// This file is part of the GNU ISO C++ Library. This library is free
4// software; you can redistribute it and/or modify it under the
5// terms of the GNU General Public License as published by the
748086b7 6// Free Software Foundation; either version 3, or (at your option)
ba4b172f
PC
7// any later version.
8
9// This library is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU General Public License for more details.
13
14// You should have received a copy of the GNU General Public License along
748086b7
JJ
15// with this library; see the file COPYING3. If not see
16// <http://www.gnu.org/licenses/>.
ba4b172f 17
a5ea7a0b
RS
18// { dg-do run { xfail lax_strtofp } }
19
ba4b172f
PC
20#include <cmath> // for abs
21#include <cfloat> // for DBL_EPSILON
22#include <sstream>
23#include <limits>
24#include <testsuite_hooks.h>
25
26// libstdc++/9151
27void
28test06()
29{
30 using namespace std;
ba4b172f
PC
31
32 int prec = numeric_limits<double>::digits10 + 2;
33 double oval = numeric_limits<double>::min();
34
35 wstringstream ostr;
36 ostr.precision(prec);
37 ostr << oval;
38 wstring sval = ostr.str();
39 wistringstream istr(sval);
40 double ival;
41 istr >> ival;
42 VERIFY( abs(oval-ival)/oval < DBL_EPSILON );
43}
44
45int
46main()
47{
48 test06();
49 return 0;
50}