------- Comment #4 from pinskia at gcc dot gnu dot org 2006-02-03 18:23 ------- What happens here is that we call get_callee_fndecl before gimplifying the expression f(3) and we get back malloc because of code in get_callee_fndecl for: /* If this is a readonly function pointer, extract its initial value. */
And then we go along and gimplifiy this expression and we get: f.0(3) as the expression as the load for f is done before as f.0 = f;. and then calling get_callee_fndecl on this new expression we get NULL and so we crash as we pass that to fold_builtins. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26092