1// Copyright (C) 2004, 2009 Free Software Foundation 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 6// Free Software Foundation; either version 3, or (at your option) 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 15// with this library; see the file COPYING3. If not see 16// <http://www.gnu.org/licenses/>. 17 18// 27.6.1.2.3 character extractors 19 20#include <istream> 21#include <sstream> 22#include <testsuite_hooks.h> 23 24// libstdc++/11095 25// operator>>(basic_istream&, _CharT*) 26void test01() 27{ 28 bool test __attribute__((unused)) = true; 29 const std::wstring str_01(L"Consoli "); 30 31 std::wstringbuf isbuf_01(str_01, std::ios_base::in); 32 std::wistream is_01(&isbuf_01); 33 34 std::ios_base::iostate state1, state2; 35 36 wchar_t array1[10]; 37 typedef std::wios::traits_type ctraits_type; 38 39 is_01.width(-60); 40 state1 = is_01.rdstate(); 41 is_01 >> array1; 42 state2 = is_01.rdstate(); 43 VERIFY( state1 == state2 ); 44 VERIFY( !ctraits_type::compare(array1, L"Consoli", 7) ); 45} 46 47int main() 48{ 49 test01(); 50 return 0; 51} 52 53