// { dg-do compile { target c++11 } } template struct same_type; template struct same_type {}; int lval_int; int rval_int(); int const lval_const_int=0; int const&& rval_const_int(); template void deduce_lval_int(T && t) { same_type(); } template void deduce_rval_int(T && t) { same_type(); } template void deduce_lval_const_int(T && t) { same_type(); } template void deduce_rval_const_int(T && t) { same_type(); } void f() { deduce_lval_int(lval_int); deduce_rval_int(rval_int()); deduce_lval_const_int(lval_const_int); deduce_rval_const_int(rval_const_int()); }