aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/c/std_cwchar.h
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/include/c/std_cwchar.h')
-rw-r--r--libstdc++-v3/include/c/std_cwchar.h30
1 files changed, 25 insertions, 5 deletions
diff --git a/libstdc++-v3/include/c/std_cwchar.h b/libstdc++-v3/include/c/std_cwchar.h
index 713f4445773..d06f5e4efcd 100644
--- a/libstdc++-v3/include/c/std_cwchar.h
+++ b/libstdc++-v3/include/c/std_cwchar.h
@@ -1,6 +1,6 @@
// -*- C++ -*- forwarding header.
-// Copyright (C) 2000 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2002 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
@@ -28,15 +28,35 @@
// the GNU General Public License.
//
-// ISO C++ 14882: ???
+// ISO C++ 14882: 21.4
//
-// Note: This is not a conforming implementation.
-
#ifndef _CPP_CWCHAR
#define _CPP_CWCHAR 1
#pragma GCC system_header
-#include <wchar.h>
+
+#include <bits/c++config.h>
+#include <cstddef>
+#include <ctime>
+
+#if _GLIBCPP_HAVE_WCHAR_H
+#include_next <wchar.h>
+#endif
+
+// Need to do a bit of trickery here with mbstate_t as char_traits
+// assumes it is in wchar.h, regardless of wchar_t specializations.
+#ifndef _GLIBCPP_HAVE_MBSTATE_T
+namespace std
+{
+ extern "C"
+ {
+ typedef struct
+ {
+ int __fill[6];
+ } mbstate_t;
+ }
+}
+#endif
#endif