2 // { dg-do compile { target c++11 } }
3 // { dg-options "-Wall" }
8 struct remove_reference
11 template<typename _Tp>
12 struct remove_reference<_Tp&>
13 { typedef _Tp type; };
15 template<typename _Tp>
16 struct remove_reference<_Tp&&>
17 { typedef _Tp type; };
19 template<typename _Tp>
20 constexpr typename std::remove_reference<_Tp>::type&&
21 move(_Tp&& __t) noexcept
22 { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
27 A(int) : i_(i_) { } // { dg-warning "itself" }
28 A(int, int) : i_(this->i_) { } // { dg-warning "itself" }
34 B(int) : i_(std::move(i_)) { } // { dg-warning "itself" }
35 B(int, int) : i_(std::move(this->i_)) { } // { dg-warning "itself" }