2 // { dg-options "-O3 -ftracer -fsched-pressure -Wno-unused-parameter -Wno-return-type" }
10 virtual const char *what () const throw ();
14 namespace std __attribute__ ((__visibility__ ("default")))
16 template < typename _Alloc > class allocator;
17 template < class _CharT > struct char_traits;
18 template < typename _CharT, typename _Traits =
19 char_traits < _CharT >, typename _Alloc =
20 allocator < _CharT > >class basic_string;
21 typedef basic_string < char >string;
22 template < typename _CharT, typename _Traits =
23 char_traits < _CharT > >class basic_ios;
24 typedef basic_ios < char >ios;
27 namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
29 template < typename _Tp > class new_allocator
34 namespace std __attribute__ ((__visibility__ ("default")))
36 template < typename _Tp > class allocator:public __gnu_cxx::new_allocator <
42 typedef int _Atomic_word;
43 namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
45 static inline _Atomic_word
46 __attribute__ ((__unused__)) __exchange_and_add_dispatch (_Atomic_word *
53 namespace std __attribute__ ((__visibility__ ("default")))
55 template < typename _CharT, typename _Traits,
56 typename _Alloc > class basic_string
58 typedef _Alloc allocator_type;
59 private:struct _Rep_base
61 _Atomic_word _M_refcount;
65 void _M_dispose (const _Alloc & __a)
67 if (__builtin_expect (this != &_S_empty_rep (), false))
70 __exchange_and_add_dispatch (&this->_M_refcount, -1) <= 0)
76 void _M_destroy (const _Alloc &) throw ();
78 struct _Alloc_hider:_Alloc
82 private:mutable _Alloc_hider _M_dataplus;
83 _CharT *_M_data () const
85 return _M_dataplus._M_p;
89 return &((reinterpret_cast < _Rep * >(_M_data ()))[-1]);
91 static _Rep & _S_empty_rep ()
94 public: basic_string ():_M_dataplus (_S_empty_rep ()._M_refdata (),
98 basic_string (const _CharT * __s, const _Alloc & __a = _Alloc ());
101 _M_rep ()->_M_dispose (this->get_allocator ());
103 allocator_type get_allocator () const
109 public:class failure:public exception
111 public:explicit failure (const string & __str) throw ();
114 template < typename _CharT, typename _Traits > class basic_ios:public
120 class zlib_error:public std::ios::failure
122 public:explicit zlib_error (int error);
125 zlib_error::zlib_error (int error):std::ios::failure ("zlib error"),