OSDN Git Service

2005-03-23 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / include / c_std / std_cstdio.h
index 6fb8c79..57bbb3d 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*- forwarding header.
 
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -41,8 +41,8 @@
  *  contained in the namespace @c std.
  */
 
-#ifndef _CPP_CSTDIO
-#define _CPP_CSTDIO 1
+#ifndef _GLIBCXX_CSTDIO
+#define _GLIBCXX_CSTDIO 1
 
 #pragma GCC system_header
 
@@ -94,7 +94,7 @@
 #undef vprintf
 #undef vsprintf
 
-namespace std 
+namespace std
 {
   using ::FILE;
   using ::fpos_t;
@@ -142,7 +142,7 @@ namespace std
   using ::vsprintf;
 }
 
-#if _GLIBCPP_USE_C99
+#if _GLIBCXX_USE_C99
 
 #undef snprintf
 #undef vfscanf
@@ -152,11 +152,25 @@ namespace std
 
 namespace __gnu_cxx
 {
+#if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC
+  extern "C" int
+  (snprintf)(char * restrict, size_t, const char * restrict, ...);
+  extern "C" int
+  (vfscanf)(FILE * restrict, const char * restrict, __gnuc_va_list);
+  extern "C" int (vscanf)(const char * restrict, __gnuc_va_list);
+  extern "C" int
+  (vsnprintf)(char * restrict, size_t, const char * restrict, __gnuc_va_list);
+  extern "C" int
+  (vsscanf)(const char * restrict, const char * restrict, __gnuc_va_list);
+#endif
+
+#if !_GLIBCXX_USE_C99_DYNAMIC
   using ::snprintf;
   using ::vfscanf;
   using ::vscanf;
   using ::vsnprintf;
   using ::vsscanf;
+#endif
 }
 
 namespace std
@@ -167,6 +181,6 @@ namespace std
   using __gnu_cxx::vsnprintf;
   using __gnu_cxx::vsscanf;
 }
-#endif 
+#endif
 
 #endif