[C++ PATCH] Deprecate -ffriend-injection
[official-gcc.git] / gcc / testsuite / g++.dg / lto / pr65475c_1.C
blobb63ff9b225bd39cad678167563c8fd41e4f89855
1 namespace std
3   template < class _CharT > struct char_traits;
4   typedef long streamsize;
5   template < typename _CharT, typename _Traits =
6     char_traits < _CharT > >class basic_ostream;
7   template < typename _CharT, typename _Traits =
8     char_traits < _CharT > >class Trans_NS___cxx11_basic_ostringstream;
9   template < typename _CharT, typename _Traits =
10     char_traits < _CharT > >class istreambuf_iterator;
11   template < typename _CharT, typename _Traits =
12     char_traits < _CharT > >class ostreambuf_iterator;
14 namespace std
16   template < typename _CharT, typename _InIter =
17     istreambuf_iterator < _CharT > >class num_get;
18   template < typename _CharT, typename _OutIter =
19     ostreambuf_iterator < _CharT > >class num_put;
20   struct iterator
21   {
22   };
24 typedef int _Atomic_word;
25 namespace std
27   class locale
28   {
29   public:class facet;
30     class _Impl;
31       template < typename _Facet > locale ( const locale & __other,
32                                             _Facet * __f );
33   private:  _Impl * _M_impl;
34   };
35   class locale::facet
36   {
37     mutable _Atomic_word _M_refcount;
38   protected:  explicit facet ( void ) throw (  );
39       virtual ~ facet (  );
40   };
41   enum _Ios_Fmtflags
42   {
43     _S_boolalpha = 1 << 0, _S_dec, _S_fixed = 1 << 2, _S_hex =
44       1 << 3, _S_internal = 1 << 4, _S_left = 1 << 5, _S_oct =
45       1 << 6, _S_right = 1 << 7, _S_scientific = 1 << 8, _S_showbase =
46       1 << 9, _S_showpoint = 1 << 10, _S_showpos = 1 << 11, _S_skipws =
47       1 << 12, _S_unitbuf = 1 << 13, _S_uppercase = 1 << 14, _S_adjustfield =
48       _S_left | _S_right | _S_internal, _S_basefield =
49       _S_dec | _S_oct | _S_hex, _S_floatfield =
50       _S_scientific | _S_fixed, _S_ios_fmtflags_end = 1 << 16
51   };
52   enum _Ios_Openmode
53   {
54     _S_out
55   };
56   enum _Ios_Iostate
57   {
58     _S_goodbit, _S_badbit, _S_eofbit, _S_failbit =
59       1 << 2, _S_ios_iostate_end = 1 << 16
60   };
61   class ios_base
62   {
63   public:typedef _Ios_Fmtflags fmtflags;
64     typedef _Ios_Iostate iostate;
65   protected:  streamsize _M_precision;
66     streamsize _M_width;
67     fmtflags _M_flags;
68     iostate _M_exception;
69     iostate _M_streambuf_state;
70     struct _Callback_list;
71     _Callback_list *_M_callbacks;
72     struct _Words
73     {
74       void *_M_pword;
75       long _M_iword;
76     };
77     _Words _M_word_zero;
78     enum
79     {
80       _S_local_word_size = 8
81     };
82     _Words _M_local_word[_S_local_word_size];
83     int _M_word_size;
84     _Words *_M_word;
85     locale _M_ios_locale;
86       virtual ~ ios_base (  );
87   };
88   template < typename _CharT, typename _Traits > class basic_streambuf;
89 template < typename _CharT, typename _Traits > class ostreambuf_iterator:public
90     iterator
91   {
92     typedef basic_ostream < wchar_t, _Traits > ostream_type;
93   };
94   class __ctype_abstract_base:public locale::facet
95   {
96   };
97 template < typename _CharT > class ctype:public __ctype_abstract_base
98   {
99   };
100   class Trans_NS___cxx11_numpunct:public locale::facet
101   {
102   };
103 template < typename _CharT, typename _InIter > class num_get:public locale::
104     facet
105   {
106   };
107 template < typename _CharT, typename _OutIter > class num_put:public locale::
108     facet
109   {
110   public:typedef int char_type;
111     typedef std::ostreambuf_iterator < wchar_t,
112       std::char_traits < wchar_t > >iter_type;
113   };
114 template < typename _CharT, typename _Traits > class basic_ios:public
115     ios_base
116   {
117   public:typedef wchar_t char_type;
118     typedef num_get < wchar_t, istreambuf_iterator < wchar_t,
119       _Traits > >__num_get_type;
120   protected:basic_ostream < wchar_t, _Traits > *_M_tie;
121     mutable char_type _M_fill;
122     mutable bool _M_fill_init;
123     basic_streambuf < wchar_t, _Traits > *_M_streambuf;
124     const ctype < wchar_t > *_M_ctype;
125     const num_put < wchar_t, ostreambuf_iterator < wchar_t,
126       _Traits > >*_M_num_put;
127     const __num_get_type *_M_num_get;
128   };
129 template < typename _CharT, typename _Traits > class basic_ostream:virtual public basic_ios < wchar_t,
130     _Traits
131     >
132   {
133   };
135 typedef enum
137   posix
139 value_type;
140 static const unsigned int wchar_t_facet = 1 << 1;
141 class shared_ptr
144 namespace std 
146 template < typename _CharT, typename _Traits > class Trans_NS___cxx11_basic_ostringstream:public basic_ostream < wchar_t,
147     _Traits
148     >
149   {
150   public:explicit Trans_NS___cxx11_basic_ostringstream ( void );
151   };
153 class base_num_format:public
154   std::num_put <
155   wchar_t >
157 public:typedef typename
158     std::num_put <
159     wchar_t >::iter_type
160     iter_type;
161   typedef wchar_t
162     char_type;
163   base_num_format ( unsigned long refs = 0 );
164   iter_type
165     do_put_out;
166   std::ios_base &
167     do_put_ios;
168   char_type
169     do_put_fill;
170   unsigned long long
171     do_put_val;
172   virtual iter_type
173   do_put ( void ) const
174   {
175     return
176     do_real_put ( do_put_out, do_put_ios, do_put_fill, do_put_val );
177   }
178 private:template <
179     typename
180     ValueType >
181     iter_type
182   do_real_put ( iter_type out, std::ios_base & ios, char_type fill,
183                 ValueType val ) const
184   {
185     switch ( 0 )
186       case posix:
187       {
188         typedef
189           std::Trans_NS___cxx11_basic_ostringstream <
190           char_type >
191           sstream_type;
192         sstream_type
193           ss;
194       }
195   }
197 class
198   base_num_parse:
199   public
200   std::num_get <
201   wchar_t >
203 private:};
204 class
205   num_format:
206   public
207   base_num_format
209 public:typedef wchar_t
210     iter_type;
211   num_format ( shared_ptr lc, unsigned long refs = 0 )
212   {
213   }
215 class
216   num_punct_posix:
217   public
218   std::Trans_NS___cxx11_numpunct
221 template < typename CharType >
222   std::locale create_formatting_impl ( std::locale const &in, shared_ptr lc )
224   std::locale tmp = std::locale ( tmp, new num_format ( lc ) );
226 shared_ptr create_formatting_lc;
227 unsigned int create_formatting_type;
228 void
229 create_formatting ( std::locale const &in )
231   switch ( create_formatting_type )
232     case wchar_t_facet:
233     create_formatting_impl < wchar_t > ( in, create_formatting_lc );