This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patches] Re: flow.c/dwarf2out.c and multiple entry points
On Sat, Feb 24, 2001 at 01:31:52AM +0100, Jan Hubicka wrote:
> Do you have any sugestion how to get this working easilly, at least
> as temporary solution?
Notice that ENTRY_BLOCK has multiple successors. At entry point:
1: Emit a DW_CFA_remember_state before doing anything else.
1<x<N: Emit a DW_CFA_restore_state immediately followed by
another DW_CFA_remember_state.
N: Emit a DW_CFA_restore_state.
The (1<x<N) case is due to the remember/restore thing being a stack,
and the pushes and pops must match up.
Note that DW_CFA_restore_state only affects the register columns,
and you'll also need to reset the CFA data:
dwarf2out_def_cfa (NULL, STACK_POINTER_REGNUM, INCOMING_FRAME_SP_OFFSET);
r~