ree); extern tree blocks_nreverse (tree); extern tree block_chainon (tree, tree); /* Set BLOCK_NUMBER for all the blocks in FN. */ extern void number_blocks (tree); /* cfun shouldn't be set directly; use one of these functions instead. */ extern void set_cfun (struct function *new_cfun, bool force = false); extern void push_cfun (struct function *new_cfun); extern void pop_cfun (void); extern void push_function_decl (tree, bool = false); extern void pop_function_decl (void); extern int get_next_funcdef_no (void); extern int get_last_funcdef_no (void); extern void allocate_struct_function (tree, bool); extern void push_struct_function (tree fndecl, bool = false); extern void push_dummy_function (bool); extern void pop_dummy_function (void); extern void init_dummy_function_start (void); extern void init_function_start (tree); extern void stack_protect_epilogue (void); extern void expand_function_start (tree); extern void expand_dummy_function_end (void); extern void thread_prologue_and_epilogue_insns (void); extern void diddle_return_value (void (*)(rtx, void*), void*); extern void clobber_return_register (void); extern void expand_function_end (void); extern rtx get_arg_pointer_save_area (void); extern void maybe_copy_prologue_epilogue_insn (rtx, rtx); extern bool prologue_contains (const rtx_insn *); extern bool epilogue_contains (const rtx_insn *); extern bool prologue_epilogue_contains (const rtx_insn *); extern void record_prologue_seq (rtx_insn *); extern void record_epilogue_seq (rtx_insn *); extern void emit_return_into_block (bool simple_p, basic_block bb); extern void set_return_jump_label (rtx_insn *); extern bool active_insn_between (rtx_insn *head, rtx_insn *tail); extern vec convert_jumps_to_returns (basic_block last_bb, bool simple_p, vec unconverted); extern basic_block emit_return_for_exit (edge exit_fallthru_edge, bool simple_p); extern void reposition_prologue_and_epilogue_notes (void); extern poly_int64 get_stack_dynamic_offset (); /* Returns the name of the current function. */ extern const char *fndecl_name (tree); extern const char *function_name (const function *); extern const char *current_function_name (void); extern void used_types_insert (tree); extern bool currently_expanding_function_start; #endif /* GCC_FUNCTION_H */