1// 2005-07-11 Paolo Carlini <pcarlini@suse.de> 2 3// Copyright (C) 2005 Free Software Foundation 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 2, 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 COPYING. If not, write to the Free 18// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 19// USA. 20 21// 27.6.2.5.2 Arithmetic inserters 22 23#include <sstream> 24#include <testsuite_hooks.h> 25 26void test01() 27{ 28 using namespace std; 29 bool test __attribute__((unused)) = true; 30 31 wstringstream ostr1, ostr2, ostr3, ostr4; 32 33 ostr1.setf(ios_base::oct); 34 ostr1.setf(ios_base::hex); 35 36 short s = -1; 37 ostr1 << s; 38 VERIFY( ostr1.str() == L"-1" ); 39 40 ostr2.setf(ios_base::oct); 41 ostr2.setf(ios_base::hex); 42 43 int i = -1; 44 ostr2 << i; 45 VERIFY( ostr2.str() == L"-1" ); 46 47 ostr3.setf(ios_base::oct); 48 ostr3.setf(ios_base::hex); 49 50 long l = -1; 51 ostr3 << l; 52 VERIFY( ostr3.str() == L"-1" ); 53 54#ifdef _GLIBCXX_USE_LONG_LONG 55 ostr4.setf(ios_base::oct); 56 ostr4.setf(ios_base::hex); 57 58 long long ll = -1LL; 59 ostr4 << ll; 60 VERIFY( ostr4.str() == L"-1" ); 61#endif 62} 63 64int main() 65{ 66 test01(); 67 return 0; 68} 69