2 // { dg-do compile { target c++11 } }
3 // { dg-options "-O2 -Wno-return-type" }
5 template <typename> class A;
9 template <typename _CharT, typename = A<_CharT>> class basic_string {
10 long _M_string_length;
11 enum { _S_local_capacity = 15 } _M_local_buf[_S_local_capacity];
12 B::pointer _M_local_data;
17 template <typename _CharT, typename _Traits, typename _Alloc>
18 int operator<<(_Traits, basic_string<_CharT, _Alloc>);
20 basic_string<A<char>> _M_string;
40 void m_fn2(const int &&);
41 static H m_fn3(const int &);
43 template <typename Functor> void Bind(Functor);
46 static basic_string<char> m_fn4();
49 void I::m_fn2(const int &&) { Bind(m_fn3); }
50 H I::m_fn3(const int &) {
51 !false ? (void)0 : G() & F() << J::m_fn4();