aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2006-02-05 11:38:57 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2006-02-05 11:38:57 +0000
commit93638ec7948abfd1c205d06c5c4cb9e603b78b32 (patch)
tree85cfc5081abd7f7273316a72baeef26edce7c621 /libstdc++-v3/include
parentdc2cd23211e027961bd2c4071a57bfde60d66976 (diff)
downloadgcc-93638ec7948abfd1c205d06c5c4cb9e603b78b32.zip
gcc-93638ec7948abfd1c205d06c5c4cb9e603b78b32.tar.gz
gcc-93638ec7948abfd1c205d06c5c4cb9e603b78b32.tar.bz2
cstdio: New.
2006-02-05 Paolo Carlini <pcarlini@suse.de> * include/tr1/cstdio: New. * include/tr1/stdio.h: Likewise. * include/Makefile.am: Add. * testsuite/tr1/8_c_compatibility/cstdio/functions.cc: New. * testsuite/tr1/headers.cc: Update. * docs/html/ext/tr1.html: Update. * include/tr1/cwchar: Simplify, use _GLIBCXX_USE_C99, consistently with the facilities in std::. * include/tr1/cwctype: Likewise. * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Tweak. * testsuite/tr1/8_c_compatibility/cwctype/functions.cc: Likewise. * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Remove <wchar.h> and <wctype.h> checks. * include/Makefile.in: Regenerate. * config.h.in: Likewise. * configure: Likewise. From-SVN: r110613
Diffstat (limited to 'libstdc++-v3/include')
-rw-r--r--libstdc++-v3/include/Makefile.am2
-rw-r--r--libstdc++-v3/include/Makefile.in2
-rw-r--r--libstdc++-v3/include/tr1/cstdio57
-rw-r--r--libstdc++-v3/include/tr1/cwchar58
-rw-r--r--libstdc++-v3/include/tr1/cwctype10
-rw-r--r--libstdc++-v3/include/tr1/stdio.h39
6 files changed, 120 insertions, 48 deletions
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index 4e06400..b16993d 100644
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -493,6 +493,7 @@ tr1_headers = \
${tr1_srcdir}/complex \
${tr1_srcdir}/cstdarg \
${tr1_srcdir}/cstdint \
+ ${tr1_srcdir}/cstdio \
${tr1_srcdir}/ctype.h \
${tr1_srcdir}/cwchar \
${tr1_srcdir}/cwctype \
@@ -510,6 +511,7 @@ tr1_headers = \
${tr1_srcdir}/repeat.h \
${tr1_srcdir}/stdarg.h \
${tr1_srcdir}/stdint.h \
+ ${tr1_srcdir}/stdio.h \
${tr1_srcdir}/tuple \
${tr1_srcdir}/tuple_iterate.h \
${tr1_srcdir}/type_traits \
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
index a50108c..bd6c313 100644
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -710,6 +710,7 @@ tr1_headers = \
${tr1_srcdir}/complex \
${tr1_srcdir}/cstdarg \
${tr1_srcdir}/cstdint \
+ ${tr1_srcdir}/cstdio \
${tr1_srcdir}/ctype.h \
${tr1_srcdir}/cwchar \
${tr1_srcdir}/cwctype \
@@ -727,6 +728,7 @@ tr1_headers = \
${tr1_srcdir}/repeat.h \
${tr1_srcdir}/stdarg.h \
${tr1_srcdir}/stdint.h \
+ ${tr1_srcdir}/stdio.h \
${tr1_srcdir}/tuple \
${tr1_srcdir}/tuple_iterate.h \
${tr1_srcdir}/type_traits \
diff --git a/libstdc++-v3/include/tr1/cstdio b/libstdc++-v3/include/tr1/cstdio
new file mode 100644
index 0000000..bed0ff3
--- /dev/null
+++ b/libstdc++-v3/include/tr1/cstdio
@@ -0,0 +1,57 @@
+// TR1 cstdio -*- 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_CSTDIO
+#define _TR1_CSTDIO 1
+
+#include <bits/c++config.h>
+#include <cstdio>
+
+// namespace std::tr1
+namespace std
+{
+_GLIBCXX_BEGIN_NAMESPACE(tr1)
+
+#if _GLIBCXX_USE_C99
+ using std::snprintf;
+ using std::vsnprintf;
+
+ using std::vfscanf;
+ using std::vscanf;
+ using std::vsscanf;
+#endif
+
+_GLIBCXX_END_NAMESPACE
+}
+
+#endif
diff --git a/libstdc++-v3/include/tr1/cwchar b/libstdc++-v3/include/tr1/cwchar
index 608022a..5a74d2a 100644
--- a/libstdc++-v3/include/tr1/cwchar
+++ b/libstdc++-v3/include/tr1/cwchar
@@ -40,51 +40,29 @@
#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;
+#if _GLIBCXX_HAVE_WCSTOF
+ using std::wcstof;
+#endif
+#if _GLIBCXX_HAVE_VFWSCANF
+ using std::vfwscanf;
+#endif
+#if _GLIBCXX_HAVE_VSWSCANF
+ using std::vswscanf;
+#endif
+#if _GLIBCXX_HAVE_VWSCANF
+ using std::vwscanf;
+#endif
- using ::vfwscanf;
- using ::vswscanf;
- using ::vwscanf;
+#if _GLIBCXX_USE_C99
+ using std::wcstold;
+ using std::wcstoll;
+ using std::wcstoull;
+#endif
_GLIBCXX_END_NAMESPACE
}
@@ -92,5 +70,3 @@ _GLIBCXX_END_NAMESPACE
#endif
#endif
-
-#endif
diff --git a/libstdc++-v3/include/tr1/cwctype b/libstdc++-v3/include/tr1/cwctype
index 3e94f27..2784f40 100644
--- a/libstdc++-v3/include/tr1/cwctype
+++ b/libstdc++-v3/include/tr1/cwctype
@@ -40,16 +40,14 @@
#include <cwctype>
-#if _GLIBCXX_USE_C99_WCTYPE_TR1
-
-#undef iswblank
-
// namespace std::tr1
namespace std
{
_GLIBCXX_BEGIN_NAMESPACE(tr1)
- using ::iswblank;
+#if _GLIBCXX_HAVE_ISWBLANK
+ using std::iswblank;
+#endif
_GLIBCXX_END_NAMESPACE
}
@@ -57,5 +55,3 @@ _GLIBCXX_END_NAMESPACE
#endif
#endif
-
-#endif
diff --git a/libstdc++-v3/include/tr1/stdio.h b/libstdc++-v3/include/tr1/stdio.h
new file mode 100644
index 0000000..fee7b61
--- /dev/null
+++ b/libstdc++-v3/include/tr1/stdio.h
@@ -0,0 +1,39 @@
+// TR1 stdio.h -*- 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_STDIO_H
+#define _TR1_STDIO_H 1
+
+#include <tr1/cstdio>
+
+#endif