begin_function debug hook.
Richard Henderson
rth@redhat.com
Sun Jul 15 13:43:00 GMT 2001
On Sun, Jul 15, 2001 at 03:15:44PM +0100, Neil Booth wrote:
> The remaining hooks are more tricky than those so far.
>
> This does begin_function. There remain 2 functions,
> sdbout_mark_begin_function() and dbxout_begin_function() that don't
> fit despite their names. I don't know enough about varasm.c and the
> code in final.c to know whether there is scope for rationalisation of
> these or not. Certainly there doesn't seem to be an easy way to
> integrate the two, so another hook will be needed for those.
I think the hook you're currently calling begin_function isn't.
There should be three hooks:
begin_function Called before the function is declared,
e.g. dbxout_begin_function and
sdbout_mark_begin_function.
begin_prologue Called after the function directives have
been emitted, but before any code has been
generated. This is the one you converted
today, for those that have
begin_function_before_prologue set.
end_prologue Called after prologue instructions are
emitted. This is those for which you have
begin_function_before_prologue clear.
> dwarf2out_end_epilogue,
> + debug_nothing_int, 0, /* begin_function */
To avoid confusion I think you should treat this the same way as
you did dwarf2out_end_epilogue -- call the debug hook first and
then if we're doing dwarf2 eh, but not dwarf2 debug, then call
dwarf2out_begin_prologue explicitly.
r~
More information about the Gcc-patches
mailing list