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
}