]>
git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoi.cc
1 // { dg-options "-std=gnu++0x" }
2 // 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com>
4 // Copyright (C) 2008, 2009 Free Software Foundation, Inc.
6 // This file is part of the GNU ISO C++ Library. This library is free
7 // software; you can redistribute it and/or modify it under the
8 // terms of the GNU General Public License as published by the
9 // Free Software Foundation; either version 3, or (at your option)
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
17 // You should have received a copy of the GNU General Public License along
18 // with this library; see the file COPYING3. If not see
19 // <http://www.gnu.org/licenses/>.
21 // 21.4 Numeric Conversions [string.conversions]
26 #include <testsuite_hooks.h>
31 #ifdef _GLIBCXX_USE_C99
33 bool test
__attribute__((unused
)) = false;
41 catch(std::invalid_argument
)
56 catch(std::invalid_argument
)
69 i1
= stoi(one
, 0, 16);
82 i1
= stoi(one
, &idx1
, 8);
94 wstring
one(L
"10112");
95 i1
= stoi(one
, &idx1
, 2);
108 i1
= stoi(one
, &idx1
, 0);
121 wstring
one(1000, L
'9');
124 catch(std::out_of_range
)
136 i1
= numeric_limits
<int>::max();
137 wstring
one(to_wstring((long long)i1
));
145 VERIFY( i1
== numeric_limits
<int>::max() );
149 i1
= numeric_limits
<int>::min();
150 wstring
one(to_wstring((long long)i1
));
158 VERIFY( i1
== numeric_limits
<int>::min() );
164 long long ll0
= numeric_limits
<int>::max();
166 wstring
one(to_wstring(ll0
));
169 catch(std::out_of_range
)
182 long long ll1
= numeric_limits
<int>::min();
184 wstring
one(to_wstring(ll1
));
187 catch(std::out_of_range
)