1// { dg-options "-std=gnu++11" } 2// { dg-require-string-conversions "" } 3 4// 2008-06-15 Paolo Carlini <paolo.carlini@oracle.com> 5 6// Copyright (C) 2008-2015 Free Software Foundation, Inc. 7// 8// This file is part of the GNU ISO C++ Library. This library is free 9// software; you can redistribute it and/or modify it under the 10// terms of the GNU General Public License as published by the 11// Free Software Foundation; either version 3, or (at your option) 12// any later version. 13 14// This library is distributed in the hope that it will be useful, 15// but WITHOUT ANY WARRANTY; without even the implied warranty of 16// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17// GNU General Public License for more details. 18 19// You should have received a copy of the GNU General Public License along 20// with this library; see the file COPYING3. If not see 21// <http://www.gnu.org/licenses/>. 22 23// 21.4 Numeric Conversions [string.conversions] 24 25#include <string> 26#include <testsuite_hooks.h> 27 28void 29test01() 30{ 31 bool test __attribute__((unused)) = true; 32 using namespace std; 33 34 long long ll1 = -2; 35 string one(to_string(ll1)); 36 VERIFY( one == "-2" ); 37 38 long long ll2 = 10; 39 string two(to_string(ll2)); 40 VERIFY( two == "10" ); 41 42 unsigned long long ull1 = 2; 43 string three(to_string(ull1)); 44 VERIFY( three == "2" ); 45 46 unsigned long long ull2 = 3000; 47 string four(to_string(ull2)); 48 VERIFY( four == "3000" ); 49 50 long double ld1 = 2.0L; 51 string five(to_string(ld1)); 52 VERIFY( five == "2.000000" ); 53 54 long double ld2 = -4.0L; 55 string six(to_string(ld2)); 56 VERIFY( six == "-4.000000" ); 57} 58 59int main() 60{ 61 test01(); 62 return 0; 63} 64