aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/tr1/cwchar
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2006-02-03 21:40:07 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2006-02-03 21:40:07 +0000
commitaf66a43e88af67e5650e5a1f7f82428710988702 (patch)
treedde8e45b257a62925224bbd90a000f87dbade5b4 /libstdc++-v3/include/tr1/cwchar
parentc37db700bcefc885b60cc1fae5faf5977f295886 (diff)
downloadgcc-af66a43e88af67e5650e5a1f7f82428710988702.zip
gcc-af66a43e88af67e5650e5a1f7f82428710988702.tar.gz
gcc-af66a43e88af67e5650e5a1f7f82428710988702.tar.bz2
cwchar: New.
2006-02-03 Paolo Carlini <pcarlini@suse.de> * include/tr1/cwchar: New. * include/tr1/cwctype: Likewise. * include/tr1/wchar.h: Likewise. * include/tr1/wctype.h: Likewise. * include/Makefile.am: Add. * testsuite/tr1/8_c_compatibility/cinttypes/functions: New. * testsuite/tr1/8_c_compatibility/cwctype/functions.cc: Likewise. * testsuite/tr1/headers.cc: Update. * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <wchar.h> and <wctype.h> checks. * docs/html/ext/tr1.html: Update. * include/Makefile.in: Regenerate. * config.h.in: Likewise. * configure: Likewise. * testsuite/tr1/8_c_compatibility/cctype/functions.cc: Cosmetic tweak. From-SVN: r110562
Diffstat (limited to 'libstdc++-v3/include/tr1/cwchar')
-rw-r--r--libstdc++-v3/include/tr1/cwchar96
1 files changed, 96 insertions, 0 deletions
diff --git a/libstdc++-v3/include/tr1/cwchar b/libstdc++-v3/include/tr1/cwchar
new file mode 100644
index 0000000..608022a
--- /dev/null
+++ b/libstdc++-v3/include/tr1/cwchar
@@ -0,0 +1,96 @@
+// TR1 cwchar -*- C++ -*-
+
+// Copyright (C) 2006 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 2, 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 COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+/** @file
+ * This is a TR1 C++ Library header.
+ */
+
+#ifndef _TR1_CWCHAR
+#define _TR1_CWCHAR 1
+
+#include <bits/c++config.h>
+
+#if _GLIBCXX_USE_WCHAR_T
+
+#include <cwchar>
+
+#if _GLIBCXX_USE_C99_WCHAR_TR1
+
+#undef wcstof
+#undef wcstold
+#undef wcstoll
+#undef wcstoull
+#undef vfwscanf
+#undef vswscanf
+#undef vwscanf
+
+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
+#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC
+ extern "C" long double
+ (wcstold)(const wchar_t * restrict, wchar_t ** restrict);
+#endif
+#if !_GLIBCXX_USE_C99_DYNAMIC
+ using ::wcstold;
+#endif
+#if _GLIBCXX_USE_C99_LONG_LONG_CHECK || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
+ extern "C" long long int
+ (wcstoll)(const wchar_t * restrict, wchar_t ** restrict, int);
+ extern "C" unsigned long long int
+ (wcstoull)(const wchar_t * restrict, wchar_t ** restrict, int);
+#endif
+#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
+ using ::wcstoll;
+ using ::wcstoull;
+#endif
+
+_GLIBCXX_END_NAMESPACE
+
+// namespace std::tr1
+namespace std
+{
+_GLIBCXX_BEGIN_NAMESPACE(tr1)
+
+ using ::wcstof;
+ using ::__gnu_cxx::wcstold;
+ using ::__gnu_cxx::wcstoll;
+ using ::__gnu_cxx::wcstoull;
+
+ using ::vfwscanf;
+ using ::vswscanf;
+ using ::vwscanf;
+
+_GLIBCXX_END_NAMESPACE
+}
+
+#endif
+
+#endif
+
+#endif