X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=libstdc%2B%2B-v3%2Ftestsuite%2Ftr1%2F8_c_compatibility%2Fcwchar%2Ffunctions.cc;fp=libstdc%2B%2B-v3%2Ftestsuite%2Ftr1%2F8_c_compatibility%2Fcwchar%2Ffunctions.cc;h=2a572204529f5eb17294dca7a7c25241309e86b7;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=0000000000000000000000000000000000000000;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc new file mode 100644 index 00000000..2a572204 --- /dev/null +++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc @@ -0,0 +1,78 @@ +// { dg-do compile } + +// 2006-02-03 Paolo Carlini +// +// Copyright (C) 2006, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING3. If not see +// . + +// 8.6 Additions to header + +#include +#include +#include + +#if _GLIBCXX_USE_WCHAR_T + +void test01(int dummy, ...) +{ + std::va_list arg; + va_start(arg, dummy); + +#if _GLIBCXX_HAVE_WCSTOF + const wchar_t* nptr1 = 0; + wchar_t** endptr1 = 0; + float fret; + fret = std::tr1::wcstof(nptr1, endptr1); +#endif + +#if _GLIBCXX_HAVE_VFWSCANF + FILE* stream = 0; + const wchar_t* format1 = 0; + int ret1; + ret1 = std::tr1::vfwscanf(stream, format1, arg); +#endif + +#if _GLIBCXX_HAVE_VSWSCANF + const wchar_t* s = 0; + const wchar_t* format2 = 0; + int ret2; + ret2 = std::tr1::vswscanf(s, format2, arg); +#endif + +#if _GLIBCXX_HAVE_VWSCANF + const wchar_t* format3 = 0; + int ret3; + ret3 = std::tr1::vwscanf(format3, arg); +#endif + +#if _GLIBCXX_USE_C99 + + const wchar_t* nptr2 = 0; + wchar_t** endptr2 = 0; + long double ldret; + ldret = std::tr1::wcstold(nptr2, endptr2); + + int base = 0; + long long llret; + unsigned long long ullret; + llret = std::tr1::wcstoll(nptr2, endptr2, base); + ullret = std::tr1::wcstoull(nptr2, endptr2, base); + +#endif +} + +#endif