http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60215
Paolo Carlini <paolo.carlini at oracle dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jason at gcc dot gnu.org --- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> --- Evidently, in case of error recovery we can get here: 9672 case COMPONENT_REF: 9673 if (is_overloaded_fn (t)) 9674 { 9675 /* We can only get here in checking mode via 9676 build_non_dependent_expr, because any expression that 9677 calls or takes the address of the function will have 9678 pulled a FUNCTION_DECL out of the COMPONENT_REF. */ 9679 gcc_checking_assert (allow_non_constant); 9680 *non_constant_p = true; 9681 return t; 9682 } with allow_non_constant == false. Jason suggested the comment (and the assert ;) as part of the fix for 58647, thus I would like to hear from him... Shall we maybe || errorcount ? Seems safe for 4.9.0.