http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57064
--- Comment #8 from Thiago Macieira <thiago at kde dot org> 2013-04-25 07:13:44 UTC --- Hmm... this might be an effect of the same bug. Can you try this on 4.9? struct A { A p() const &; A &&p() &&; }; void f() { A().p().p(); } I get: leaq 15(%rsp), %rdi #, tmp60 call _ZNO1A1pEv@PLT # movq %rax, %rdi # D.69575, call _ZNKR1A1pEv@PLT # Is this second call supposed to be to R? If it's to O, it's exactly what I need to make the feature useful.