OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [libstdc++-v3/] [testsuite/] [27_io/] [basic_filebuf/] [imbue/] [char/] [14975-1.cc] - Blame information for rev 19

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 19 jlechner
// { dg-require-namedlocale "" }
2
 
3
// 2004-04-16  Petur Runolfsson  <peturr02@ru.is>
4
 
5
// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
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 2, 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 COPYING.  If not, write to the Free
20
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
21
// USA.
22
 
23
// 27.8.1.4 Overridden virtual functions
24
 
25
#include <fstream>
26
#include <locale>
27
#include <testsuite_hooks.h>
28
 
29
class Buf : public std::filebuf
30
{
31
protected:
32
  virtual int_type
33
  overflow(int_type c = traits_type::eof())
34
  {
35
    return traits_type::eq_int_type(c, traits_type::eof()) ?
36
      traits_type::eof() : std::filebuf::overflow(c);
37
  }
38
};
39
 
40
// libstdc++/14975
41
void test01()
42
{
43
  using namespace std;
44
  bool test __attribute__((unused)) = true;
45
 
46
  Buf fb;
47
  locale loc_us = locale("en_US");
48
  fb.pubimbue(loc_us);
49
  fb.open("tmp_14975-1", ios_base::out);
50
 
51
  try
52
    {
53
      fb.sputc('a');
54
      fb.sputc('b');
55
      fb.pubimbue(locale::classic());
56
      fb.sputc('c');
57
      fb.pubsync();
58
      fb.close();
59
    }
60
  catch (std::exception&)
61
    {
62
    }
63
}
64
 
65
int main()
66
{
67
  test01();
68
  return 0;
69
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.