/* Declarations for insn-output.c. These functions are defined in recog.c,
final.c, and varasm.c.
Copyright (C) 1987, 1991, 1994, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GCC.
/* The final scan for one insn, INSN. Args are same as in `final', except
that INSN is the insn being scanned. Value returned is the next insn to
be scanned. */
-extern rtx final_scan_insn (rtx, FILE *, int, int, int);
+extern rtx final_scan_insn (rtx, FILE *, int, int, int, int *);
/* Replace a SUBREG with a REG or a MEM, based on the thing it is a
subreg of. */
/* Functions in flow.c */
extern void allocate_for_life_analysis (void);
-extern int regno_uninitialized (unsigned int);
extern int regno_clobbered_at_setjmp (int);
-extern void find_basic_blocks (rtx, int, FILE *);
-extern bool cleanup_cfg (int);
-extern bool delete_unreachable_blocks (void);
-extern void check_function_return_warnings (void);
/* Functions in varasm.c. */
/* Tell assembler to switch to text section. */
extern void text_section (void);
+/* Tell assembler to switch to unlikely-to-be-executed text section. */
+extern void unlikely_text_section (void);
+
/* Tell assembler to switch to data section. */
extern void data_section (void);
/* Determine if we're in the text section. */
extern int in_text_section (void);
+/* Determine if we're in the unlikely-to-be-executed text section. */
+extern int in_unlikely_text_section (void);
+
#ifdef CTORS_SECTION_ASM_OP
extern void ctors_section (void);
#endif
extern int current_function_is_leaf;
-/* Nonzero if function being compiled doesn't contain any instructions
- that can throw an exception. This is set prior to final. */
-
-extern int current_function_nothrow;
-
/* Nonzero if function being compiled doesn't modify the stack pointer
(ignoring the prologue and epilogue). This is only valid after
life_analysis has run. */
/* Default file in which to dump debug output. */
#ifdef BUFSIZ
-extern FILE *rtl_dump_file;
+extern FILE *dump_file;
#endif
/* Nonnull if the insn currently being emitted was a COND_EXEC pattern. */
The precise value is the insn being output, to pass to error_for_asm. */
extern rtx this_is_asm_operands;
+/* Carry information from ASM_DECLARE_OBJECT_NAME
+ to ASM_FINISH_DECLARE_OBJECT. */
+extern int size_directive_output;
+extern tree last_assemble_variable_decl;
+
/* Decide whether DECL needs to be in a writable section.
RELOC is the same as for SELECT_SECTION. */
extern bool decl_readonly_section (tree, int);
extern bool decl_readonly_section_1 (tree, int, int);
+/* This can be used to compute RELOC for the function above, when
+ given a constant expression. */
+extern int compute_reloc_for_constant (tree);
+
/* User label prefix in effect for this compilation. */
extern const char *user_label_prefix;
extern void default_exception_section (void);
/* Tell assembler to switch to the section for the EH frames. */
+extern void named_section_eh_frame_section (void);
+extern void collect2_eh_frame_section (void);
extern void default_eh_frame_section (void);
/* Default target hook that outputs nothing to a stream. */
extern bool default_binds_local_p (tree);
extern bool default_binds_local_p_1 (tree, int);
extern void default_globalize_label (FILE *, const char *);
+extern void default_emit_unwind_label (FILE *, tree, int, int);
extern void default_internal_label (FILE *, const char *, unsigned long);
extern void default_file_start (void);
extern void file_end_indicate_exec_stack (void);
extern bool default_valid_pointer_mode (enum machine_mode);
-/* Emit data for vtable gc for GNU binutils. */
-extern void assemble_vtable_entry (rtx, HOST_WIDE_INT);
-extern void assemble_vtable_inherit (rtx, rtx);
-
extern int default_address_cost (rtx);
#endif /* ! GCC_OUTPUT_H */