On Mon, Dec 10, 2012 at 10:44:49PM +0100, Dodji Seketeli wrote: > Jakub Jelinek <ja...@redhat.com> writes: > > > +++ gcc/asan.c 2012-12-05 15:30:56.069890542 +0100 > > @@ -1031,7 +1031,7 @@ instrument_builtin_call (gimple_stmt_ite > > { > > gimple call = gsi_stmt (*iter); > > > > - gcc_assert (is_gimple_builtin_call (call)); > > + gcc_checking_assert (is_gimple_builtin_call (call)); > > Why is this change necessary?
It is not necessary, just it isn't as low cost as it would be good for an assertion, it does: if (is_gimple_call (stmt) && (callee = gimple_call_fndecl (stmt)) && is_builtin_fn (callee) && DECL_BUILT_IN_CLASS (callee) == BUILT_IN_NORMAL) return true; and the caller calls that exact routine already: if (is_gimple_builtin_call (gsi_stmt (*iter))) return instrument_builtin_call (iter); and this is the second statement in instrument_builtin_call. Jakub