00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include "bits/c++config.h"
00029 #include "bits/gthr.h"
00030 #include <fstream>
00031 #include <istream>
00032 #include <ostream>
00033 #include <ext/stdio_filebuf.h>
00034 #include <ext/stdio_sync_filebuf.h>
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052 namespace std
00053 {
00054
00055
00056 typedef char fake_istream[sizeof(istream)]
00057 __attribute__ ((aligned(__alignof__(istream))));
00058 typedef char fake_ostream[sizeof(ostream)]
00059 __attribute__ ((aligned(__alignof__(ostream))));
00060 fake_istream cin;
00061 fake_ostream cout;
00062 fake_ostream cerr;
00063 fake_ostream clog;
00064
00065 #ifdef _GLIBCXX_USE_WCHAR_T
00066 typedef char fake_wistream[sizeof(wistream)]
00067 __attribute__ ((aligned(__alignof__(wistream))));
00068 typedef char fake_wostream[sizeof(wostream)]
00069 __attribute__ ((aligned(__alignof__(wostream))));
00070 fake_wistream wcin;
00071 fake_wostream wcout;
00072 fake_wostream wcerr;
00073 fake_wostream wclog;
00074 #endif
00075 }
00076
00077 namespace __gnu_internal
00078 {
00079 using namespace std;
00080 using namespace __gnu_cxx;
00081
00082
00083
00084 typedef char fake_stdiobuf[sizeof(stdio_sync_filebuf<char>)]
00085 __attribute__ ((aligned(__alignof__(stdio_sync_filebuf<char>))));
00086 fake_stdiobuf buf_cout_sync;
00087 fake_stdiobuf buf_cin_sync;
00088 fake_stdiobuf buf_cerr_sync;
00089
00090 typedef char fake_filebuf[sizeof(stdio_filebuf<char>)]
00091 __attribute__ ((aligned(__alignof__(stdio_filebuf<char>))));
00092 fake_filebuf buf_cout;
00093 fake_filebuf buf_cin;
00094 fake_filebuf buf_cerr;
00095
00096 #ifdef _GLIBCXX_USE_WCHAR_T
00097 typedef char fake_wstdiobuf[sizeof(stdio_sync_filebuf<wchar_t>)]
00098 __attribute__ ((aligned(__alignof__(stdio_sync_filebuf<wchar_t>))));
00099 fake_wstdiobuf buf_wcout_sync;
00100 fake_wstdiobuf buf_wcin_sync;
00101 fake_wstdiobuf buf_wcerr_sync;
00102
00103 typedef char fake_wfilebuf[sizeof(stdio_filebuf<wchar_t>)]
00104 __attribute__ ((aligned(__alignof__(stdio_filebuf<wchar_t>))));
00105 fake_wfilebuf buf_wcout;
00106 fake_wfilebuf buf_wcin;
00107 fake_wfilebuf buf_wcerr;
00108 #endif
00109
00110
00111
00112
00113 #ifdef __GTHREAD_MUTEX_INIT
00114 #elif defined(__GTHREAD_MUTEX_INIT_FUNCTION)
00115 __gthread_once_t _GLIBCXX_once = __GTHREAD_ONCE_INIT;
00116 __gthread_mutex_t _GLIBCXX_mutex;
00117 __gthread_mutex_t *_GLIBCXX_mutex_address;
00118
00119
00120 void
00121 _GLIBCXX_mutex_init ()
00122 { __GTHREAD_MUTEX_INIT_FUNCTION (&_GLIBCXX_mutex); }
00123
00124
00125 void
00126 _GLIBCXX_mutex_address_init ()
00127 { __GTHREAD_MUTEX_INIT_FUNCTION (_GLIBCXX_mutex_address); }
00128 #endif
00129 }