]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/22_locale/time_get/get_date/char/26701.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 22_locale / time_get / get_date / char / 26701.cc
CommitLineData
4216708a 1// { dg-require-namedlocale "en_GB.ISO8859-1" }
2e8e6a99
PC
2
3// 2010-01-06 Paolo Carlini <paolo.carlini@oracle.com>
4
a5544970 5// Copyright (C) 2010-2019 Free Software Foundation, Inc.
2e8e6a99
PC
6//
7// This file is part of the GNU ISO C++ Library. This library is free
8// software; you can redistribute it and/or modify it under the
9// terms of the GNU General Public License as published by the
10// Free Software Foundation; either version 3, or (at your option)
11// any later version.
12
13// This library is distributed in the hope that it will be useful,
14// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16// GNU General Public License for more details.
17
18// You should have received a copy of the GNU General Public License along
19// with this library; see the file COPYING3. If not see
20// <http://www.gnu.org/licenses/>.
21
22// 22.2.5.1.1 time_get members
23
24#include <locale>
25#include <sstream>
26#include <testsuite_hooks.h>
27
28// libstdc++/26701
29void test01()
30{
31 using namespace std;
2e8e6a99
PC
32
33 typedef istreambuf_iterator<char> iterator_type;
34
4216708a 35 locale loc_en = locale(ISO_8859(1,en_GB));
2e8e6a99
PC
36
37 tm tm0 = __gnu_test::test_tm(0, 0, 0, 0, 0, 0, 0, 0, 0);
38
39 iterator_type end;
40
41 istringstream iss;
42 iss.imbue(loc_en);
43 const time_get<char>& tg = use_facet<time_get<char> >(iss.getloc());
44
45 const ios_base::iostate good = ios_base::goodbit;
46 ios_base::iostate errorstate = good;
47
48 iss.str("01/02/2003");
49 iterator_type is_it0(iss);
50
51 errorstate = good;
52 tg.get_date(is_it0, end, iss, errorstate, &tm0);
53 VERIFY( errorstate == ios_base::eofbit );
54 VERIFY( tm0.tm_year + 1900 == 2003 );
55 VERIFY( tm0.tm_mon + 1 == 2 );
56 VERIFY( tm0.tm_mday == 1 );
57}
58
59int main()
60{
61 test01();
62 return 0;
63}