patch by Jeffrey Yasskin for porting to Ubuntu Hardy. Everything was accepted except there were some bug fixes needed in <locale> for the __nolocale_* series. For the apple branch I ended up using templates instead of the var_args solution because it seemed both safer and more efficient.
llvm-svn: 104516
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 128ba7191da78d948b72b9c7adddc37002b391ef
diff --git a/include/iosfwd b/include/iosfwd
index e9a6a0f..32f679e 100644
--- a/include/iosfwd
+++ b/include/iosfwd
@@ -86,7 +86,7 @@
*/
#include <__config>
-#include <_types.h> // for __darwin_mbstate_t
+#include <wchar.h> // for mbstate_t
#pragma GCC system_header
@@ -153,11 +153,11 @@
typedef basic_fstream<wchar_t> wfstream;
template <class _State> class fpos;
-typedef fpos<__darwin_mbstate_t> streampos;
-typedef fpos<__darwin_mbstate_t> wstreampos;
+typedef fpos<mbstate_t> streampos;
+typedef fpos<mbstate_t> wstreampos;
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
-typedef fpos<__darwin_mbstate_t> u16streampos;
-typedef fpos<__darwin_mbstate_t> u32streampos;
+typedef fpos<mbstate_t> u16streampos;
+typedef fpos<mbstate_t> u32streampos;
#endif
typedef long long streamoff; // for char_traits in <string>