https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63506
Daniel Krügler <daniel.kruegler at googlemail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |daniel.kruegler@googlemail. | |com --- Comment #4 from Daniel Krügler <daniel.kruegler at googlemail dot com> --- Here is a complete example demonstrating the problem, which is also present in gcc 5.0.0 20141010 (experimental): //------------------------------- struct proxy {}; struct iterator { proxy operator*() { return proxy(); } }; //#define DEACTIVATE #ifndef DEACTIVATE template<typename T = int> #endif void foo(iterator it) { auto&& x = *it; } int main() { iterator it; foo(it); } //-------------------------------