1// { dg-options "-fno-implicit-templates" } 2 3// Copyright (C) 2004, 2009 Free Software Foundation, Inc. 4// 5// This file is part of the GNU ISO C++ Library. This library is free 6// software; you can redistribute it and/or modify it under the 7// terms of the GNU General Public License as published by the 8// Free Software Foundation; either version 3, or (at your option) 9// any later version. 10 11// This library is distributed in the hope that it will be useful, 12// but WITHOUT ANY WARRANTY; without even the implied warranty of 13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14// GNU General Public License for more details. 15 16// You should have received a copy of the GNU General Public License along 17// with this library; see the file COPYING3. If not see 18// <http://www.gnu.org/licenses/>. 19 20// Some members need to be explicitly instantiated, so that users can build 21// their own code with -fno-implicit-templates and not suffer from a zillion 22// link errors. 23 24#include <istream> 25#include <ostream> 26#include <sstream> 27#include <iomanip> 28#include <testsuite_hooks.h> 29 30// PR libstdc++/3829 31void 32test01() 33{ 34 using namespace std; 35 bool test __attribute__((unused)) = true; 36 wstring x(L" this is text"); 37 wistringstream sin(x); 38 wostringstream sout; 39 40 // same order as in bits/std_iomanip.h 41 sin >> resetiosflags(ios_base::dec) 42 >> setiosflags(ios_base::dec) 43 >> setbase(ios_base::dec) 44 >> setfill(L'c') 45 >> setprecision(5) 46 >> setw(20) 47 >> ws; 48 VERIFY(sin.good()); 49 50 sout << resetiosflags(ios_base::dec) 51 << setiosflags(ios_base::dec) 52 << setbase(ios_base::dec) 53 << setfill(L'c') 54 << setprecision(5) 55 << setw(20) 56 << ends << flush << endl; 57 VERIFY(sout.good()); 58} 59 60int 61main() 62{ 63 test01(); 64 return 0; 65} 66