aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>2000-01-14 00:46:57 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>2000-01-14 00:46:57 +0000
commit83d2b3b9dc691168719b0c77bc5c9a4d10e6384b (patch)
tree777969cebe29c86ba06933f784b922ec19ce6063 /gcc/dwarf2out.c
parent57bed15271e83402b6d8d6647f6589718e70916d (diff)
downloadgcc-83d2b3b9dc691168719b0c77bc5c9a4d10e6384b.zip
gcc-83d2b3b9dc691168719b0c77bc5c9a4d10e6384b.tar.gz
gcc-83d2b3b9dc691168719b0c77bc5c9a4d10e6384b.tar.bz2
cccp.c: PROTO -> PARAMS.
* cccp.c: PROTO -> PARAMS. * cexp.y: Likewise. * collect2.c: Likewise. * combine.c: Likewise. * convert.h: Likewise. * cse.c: Likewise. * dbxout.c: Likewise. * dbxout.h: Likewise. * diagnostic.c: Likewise. * doprint.c: Likewise. * dwarf2out.c: Likewise. * dwarf2out.h: Likewise. * dwarfout.c: Likewise. * dwarfout.h: Likewise. * dyn-string.h: Likewise. From-SVN: r31399
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c399
1 files changed, 202 insertions, 197 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index f3c5099..3fcc05f 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -1,5 +1,5 @@
/* Output Dwarf2 format symbol table information from the GNU C compiler.
- Copyright (C) 1992, 93, 95-98, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1992, 93, 95-99, 2000 Free Software Foundation, Inc.
Contributed by Gary Funck (gary@intrepid.com).
Derived from DWARF 1 implementation of Ron Guilmette (rfg@monkeys.com).
Extensively modified by Jason Merrill (jason@cygnus.com).
@@ -199,26 +199,26 @@ static unsigned current_funcdef_fde;
/* Forward declarations for functions defined in this file. */
-static char *stripattributes PROTO((const char *));
-static const char *dwarf_cfi_name PROTO((unsigned));
-static dw_cfi_ref new_cfi PROTO((void));
-static void add_cfi PROTO((dw_cfi_ref *, dw_cfi_ref));
-static unsigned long size_of_uleb128 PROTO((unsigned long));
-static unsigned long size_of_sleb128 PROTO((long));
-static void output_uleb128 PROTO((unsigned long));
-static void output_sleb128 PROTO((long));
-static void add_fde_cfi PROTO((char *, dw_cfi_ref));
-static void lookup_cfa_1 PROTO((dw_cfi_ref, unsigned long *,
- long *));
-static void lookup_cfa PROTO((unsigned long *, long *));
-static void reg_save PROTO((char *, unsigned, unsigned,
- long));
-static void initial_return_save PROTO((rtx));
-static void output_cfi PROTO((dw_cfi_ref, dw_fde_ref));
-static void output_call_frame_info PROTO((int));
-static unsigned reg_number PROTO((rtx));
-static void dwarf2out_stack_adjust PROTO((rtx));
-static void dwarf2out_frame_debug_expr PROTO((rtx, char *));
+static char *stripattributes PARAMS ((const char *));
+static const char *dwarf_cfi_name PARAMS ((unsigned));
+static dw_cfi_ref new_cfi PARAMS ((void));
+static void add_cfi PARAMS ((dw_cfi_ref *, dw_cfi_ref));
+static unsigned long size_of_uleb128 PARAMS ((unsigned long));
+static unsigned long size_of_sleb128 PARAMS ((long));
+static void output_uleb128 PARAMS ((unsigned long));
+static void output_sleb128 PARAMS ((long));
+static void add_fde_cfi PARAMS ((char *, dw_cfi_ref));
+static void lookup_cfa_1 PARAMS ((dw_cfi_ref, unsigned long *,
+ long *));
+static void lookup_cfa PARAMS ((unsigned long *, long *));
+static void reg_save PARAMS ((char *, unsigned, unsigned,
+ long));
+static void initial_return_save PARAMS ((rtx));
+static void output_cfi PARAMS ((dw_cfi_ref, dw_fde_ref));
+static void output_call_frame_info PARAMS ((int));
+static unsigned reg_number PARAMS ((rtx));
+static void dwarf2out_stack_adjust PARAMS ((rtx));
+static void dwarf2out_frame_debug_expr PARAMS ((rtx, char *));
/* Definitions of defaults for assembler-dependent names of various
pseudo-ops and section names.
@@ -2332,186 +2332,191 @@ static int comp_unit_has_inlines;
/* Forward declarations for functions defined in this file. */
-static void addr_const_to_string PROTO((dyn_string_t, rtx));
-static char *addr_to_string PROTO((rtx));
-static int is_pseudo_reg PROTO((rtx));
-static tree type_main_variant PROTO((tree));
-static int is_tagged_type PROTO((tree));
-static const char *dwarf_tag_name PROTO((unsigned));
-static const char *dwarf_attr_name PROTO((unsigned));
-static const char *dwarf_form_name PROTO((unsigned));
-static const char *dwarf_stack_op_name PROTO((unsigned));
+static void addr_const_to_string PARAMS ((dyn_string_t, rtx));
+static char *addr_to_string PARAMS ((rtx));
+static int is_pseudo_reg PARAMS ((rtx));
+static tree type_main_variant PARAMS ((tree));
+static int is_tagged_type PARAMS ((tree));
+static const char *dwarf_tag_name PARAMS ((unsigned));
+static const char *dwarf_attr_name PARAMS ((unsigned));
+static const char *dwarf_form_name PARAMS ((unsigned));
+static const char *dwarf_stack_op_name PARAMS ((unsigned));
#if 0
-static const char *dwarf_type_encoding_name PROTO((unsigned));
+static const char *dwarf_type_encoding_name PARAMS ((unsigned));
#endif
-static tree decl_ultimate_origin PROTO((tree));
-static tree block_ultimate_origin PROTO((tree));
-static tree decl_class_context PROTO((tree));
-static void add_dwarf_attr PROTO((dw_die_ref, dw_attr_ref));
-static void add_AT_flag PROTO((dw_die_ref,
- enum dwarf_attribute,
- unsigned));
-static void add_AT_int PROTO((dw_die_ref,
- enum dwarf_attribute, long));
-static void add_AT_unsigned PROTO((dw_die_ref,
- enum dwarf_attribute,
- unsigned long));
-static void add_AT_long_long PROTO((dw_die_ref,
- enum dwarf_attribute,
- unsigned long, unsigned long));
-static void add_AT_float PROTO((dw_die_ref,
- enum dwarf_attribute,
- unsigned, long *));
-static void add_AT_string PROTO((dw_die_ref,
- enum dwarf_attribute,
- const char *));
-static void add_AT_die_ref PROTO((dw_die_ref,
- enum dwarf_attribute,
- dw_die_ref));
-static void add_AT_fde_ref PROTO((dw_die_ref,
- enum dwarf_attribute,
- unsigned));
-static void add_AT_loc PROTO((dw_die_ref,
- enum dwarf_attribute,
- dw_loc_descr_ref));
-static void add_AT_addr PROTO((dw_die_ref,
- enum dwarf_attribute, char *));
-static void add_AT_lbl_id PROTO((dw_die_ref,
- enum dwarf_attribute, char *));
-static void add_AT_lbl_offset PROTO((dw_die_ref,
- enum dwarf_attribute, char *));
-static dw_attr_ref get_AT PROTO((dw_die_ref,
- enum dwarf_attribute));
-static const char *get_AT_low_pc PROTO((dw_die_ref));
-static const char *get_AT_hi_pc PROTO((dw_die_ref));
-static const char *get_AT_string PROTO((dw_die_ref,
- enum dwarf_attribute));
-static int get_AT_flag PROTO((dw_die_ref,
- enum dwarf_attribute));
-static unsigned get_AT_unsigned PROTO((dw_die_ref,
- enum dwarf_attribute));
-static int is_c_family PROTO((void));
-static int is_fortran PROTO((void));
-static void remove_AT PROTO((dw_die_ref,
- enum dwarf_attribute));
-static void remove_children PROTO((dw_die_ref));
-static void add_child_die PROTO((dw_die_ref, dw_die_ref));
-static dw_die_ref new_die PROTO((enum dwarf_tag, dw_die_ref));
-static dw_die_ref lookup_type_die PROTO((tree));
-static void equate_type_number_to_die PROTO((tree, dw_die_ref));
-static dw_die_ref lookup_decl_die PROTO((tree));
-static void equate_decl_number_to_die PROTO((tree, dw_die_ref));
-static dw_loc_descr_ref new_loc_descr PROTO((enum dwarf_location_atom,
- unsigned long, unsigned long));
-static void add_loc_descr PROTO((dw_loc_descr_ref *,
- dw_loc_descr_ref));
-static void print_spaces PROTO((FILE *));
-static void print_die PROTO((dw_die_ref, FILE *));
-static void print_dwarf_line_table PROTO((FILE *));
-static void add_sibling_attributes PROTO((dw_die_ref));
-static void build_abbrev_table PROTO((dw_die_ref));
-static unsigned long size_of_string PROTO((const char *));
-static unsigned long size_of_loc_descr PROTO((dw_loc_descr_ref));
-static unsigned long size_of_locs PROTO((dw_loc_descr_ref));
-static int constant_size PROTO((long unsigned));
-static unsigned long size_of_die PROTO((dw_die_ref));
-static void calc_die_sizes PROTO((dw_die_ref));
-static unsigned long size_of_line_prolog PROTO((void));
-static unsigned long size_of_pubnames PROTO((void));
-static unsigned long size_of_aranges PROTO((void));
-static enum dwarf_form value_format PROTO((dw_attr_ref));
-static void output_value_format PROTO((dw_attr_ref));
-static void output_abbrev_section PROTO((void));
-static void output_loc_operands PROTO((dw_loc_descr_ref));
-static void output_die PROTO((dw_die_ref));
-static void output_compilation_unit_header PROTO((void));
-static const char *dwarf2_name PROTO((tree, int));
-static void add_pubname PROTO((tree, dw_die_ref));
-static void output_pubnames PROTO((void));
-static void add_arange PROTO((tree, dw_die_ref));
-static void output_aranges PROTO((void));
-static void output_line_info PROTO((void));
-static int is_body_block PROTO((tree));
-static dw_die_ref base_type_die PROTO((tree));
-static tree root_type PROTO((tree));
-static int is_base_type PROTO((tree));
-static dw_die_ref modified_type_die PROTO((tree, int, int, dw_die_ref));
-static int type_is_enum PROTO((tree));
-static dw_loc_descr_ref reg_loc_descriptor PROTO((rtx));
-static dw_loc_descr_ref based_loc_descr PROTO((unsigned, long));
-static int is_based_loc PROTO((rtx));
-static dw_loc_descr_ref mem_loc_descriptor PROTO((rtx, enum machine_mode mode));
-static dw_loc_descr_ref concat_loc_descriptor PROTO((rtx, rtx));
-static dw_loc_descr_ref loc_descriptor PROTO((rtx));
-static unsigned ceiling PROTO((unsigned, unsigned));
-static tree field_type PROTO((tree));
-static unsigned simple_type_align_in_bits PROTO((tree));
-static unsigned simple_type_size_in_bits PROTO((tree));
-static unsigned field_byte_offset PROTO((tree));
-static void add_AT_location_description PROTO((dw_die_ref,
- enum dwarf_attribute, rtx));
-static void add_data_member_location_attribute PROTO((dw_die_ref, tree));
-static void add_const_value_attribute PROTO((dw_die_ref, rtx));
-static void add_location_or_const_value_attribute PROTO((dw_die_ref, tree));
-static void add_name_attribute PROTO((dw_die_ref, const char *));
-static void add_bound_info PROTO((dw_die_ref,
- enum dwarf_attribute, tree));
-static void add_subscript_info PROTO((dw_die_ref, tree));
-static void add_byte_size_attribute PROTO((dw_die_ref, tree));
-static void add_bit_offset_attribute PROTO((dw_die_ref, tree));
-static void add_bit_size_attribute PROTO((dw_die_ref, tree));
-static void add_prototyped_attribute PROTO((dw_die_ref, tree));
-static void add_abstract_origin_attribute PROTO((dw_die_ref, tree));
-static void add_pure_or_virtual_attribute PROTO((dw_die_ref, tree));
-static void add_src_coords_attributes PROTO((dw_die_ref, tree));
-static void add_name_and_src_coords_attributes PROTO((dw_die_ref, tree));
-static void push_decl_scope PROTO((tree));
-static dw_die_ref scope_die_for PROTO((tree, dw_die_ref));
-static void pop_decl_scope PROTO((void));
-static void add_type_attribute PROTO((dw_die_ref, tree, int, int,
- dw_die_ref));
-static char *type_tag PROTO((tree));
-static tree member_declared_type PROTO((tree));
+static tree decl_ultimate_origin PARAMS ((tree));
+static tree block_ultimate_origin PARAMS ((tree));
+static tree decl_class_context PARAMS ((tree));
+static void add_dwarf_attr PARAMS ((dw_die_ref, dw_attr_ref));
+static void add_AT_flag PARAMS ((dw_die_ref,
+ enum dwarf_attribute,
+ unsigned));
+static void add_AT_int PARAMS ((dw_die_ref,
+ enum dwarf_attribute, long));
+static void add_AT_unsigned PARAMS ((dw_die_ref,
+ enum dwarf_attribute,
+ unsigned long));
+static void add_AT_long_long PARAMS ((dw_die_ref,
+ enum dwarf_attribute,
+ unsigned long,
+ unsigned long));
+static void add_AT_float PARAMS ((dw_die_ref,
+ enum dwarf_attribute,
+ unsigned, long *));
+static void add_AT_string PARAMS ((dw_die_ref,
+ enum dwarf_attribute,
+ const char *));
+static void add_AT_die_ref PARAMS ((dw_die_ref,
+ enum dwarf_attribute,
+ dw_die_ref));
+static void add_AT_fde_ref PARAMS ((dw_die_ref,
+ enum dwarf_attribute,
+ unsigned));
+static void add_AT_loc PARAMS ((dw_die_ref,
+ enum dwarf_attribute,
+ dw_loc_descr_ref));
+static void add_AT_addr PARAMS ((dw_die_ref,
+ enum dwarf_attribute,
+ char *));
+static void add_AT_lbl_id PARAMS ((dw_die_ref,
+ enum dwarf_attribute,
+ char *));
+static void add_AT_lbl_offset PARAMS ((dw_die_ref,
+ enum dwarf_attribute,
+ char *));
+static dw_attr_ref get_AT PARAMS ((dw_die_ref,
+ enum dwarf_attribute));
+static const char *get_AT_low_pc PARAMS ((dw_die_ref));
+static const char *get_AT_hi_pc PARAMS ((dw_die_ref));
+static const char *get_AT_string PARAMS ((dw_die_ref,
+ enum dwarf_attribute));
+static int get_AT_flag PARAMS ((dw_die_ref,
+ enum dwarf_attribute));
+static unsigned get_AT_unsigned PARAMS ((dw_die_ref,
+ enum dwarf_attribute));
+static int is_c_family PARAMS ((void));
+static int is_fortran PARAMS ((void));
+static void remove_AT PARAMS ((dw_die_ref,
+ enum dwarf_attribute));
+static void remove_children PARAMS ((dw_die_ref));
+static void add_child_die PARAMS ((dw_die_ref, dw_die_ref));
+static dw_die_ref new_die PARAMS ((enum dwarf_tag, dw_die_ref));
+static dw_die_ref lookup_type_die PARAMS ((tree));
+static void equate_type_number_to_die PARAMS ((tree, dw_die_ref));
+static dw_die_ref lookup_decl_die PARAMS ((tree));
+static void equate_decl_number_to_die PARAMS ((tree, dw_die_ref));
+static dw_loc_descr_ref new_loc_descr PARAMS ((enum dwarf_location_atom,
+ unsigned long,
+ unsigned long));
+static void add_loc_descr PARAMS ((dw_loc_descr_ref *,
+ dw_loc_descr_ref));
+static void print_spaces PARAMS ((FILE *));
+static void print_die PARAMS ((dw_die_ref, FILE *));
+static void print_dwarf_line_table PARAMS ((FILE *));
+static void add_sibling_attributes PARAMS ((dw_die_ref));
+static void build_abbrev_table PARAMS ((dw_die_ref));
+static unsigned long size_of_string PARAMS ((const char *));
+static unsigned long size_of_loc_descr PARAMS ((dw_loc_descr_ref));
+static unsigned long size_of_locs PARAMS ((dw_loc_descr_ref));
+static int constant_size PARAMS ((long unsigned));
+static unsigned long size_of_die PARAMS ((dw_die_ref));
+static void calc_die_sizes PARAMS ((dw_die_ref));
+static unsigned long size_of_line_prolog PARAMS ((void));
+static unsigned long size_of_pubnames PARAMS ((void));
+static unsigned long size_of_aranges PARAMS ((void));
+static enum dwarf_form value_format PARAMS ((dw_attr_ref));
+static void output_value_format PARAMS ((dw_attr_ref));
+static void output_abbrev_section PARAMS ((void));
+static void output_loc_operands PARAMS ((dw_loc_descr_ref));
+static void output_die PARAMS ((dw_die_ref));
+static void output_compilation_unit_header PARAMS ((void));
+static const char *dwarf2_name PARAMS ((tree, int));
+static void add_pubname PARAMS ((tree, dw_die_ref));
+static void output_pubnames PARAMS ((void));
+static void add_arange PARAMS ((tree, dw_die_ref));
+static void output_aranges PARAMS ((void));
+static void output_line_info PARAMS ((void));
+static int is_body_block PARAMS ((tree));
+static dw_die_ref base_type_die PARAMS ((tree));
+static tree root_type PARAMS ((tree));
+static int is_base_type PARAMS ((tree));
+static dw_die_ref modified_type_die PARAMS ((tree, int, int, dw_die_ref));
+static int type_is_enum PARAMS ((tree));
+static dw_loc_descr_ref reg_loc_descriptor PARAMS ((rtx));
+static dw_loc_descr_ref based_loc_descr PARAMS ((unsigned, long));
+static int is_based_loc PARAMS ((rtx));
+static dw_loc_descr_ref mem_loc_descriptor PARAMS ((rtx, enum machine_mode mode));
+static dw_loc_descr_ref concat_loc_descriptor PARAMS ((rtx, rtx));
+static dw_loc_descr_ref loc_descriptor PARAMS ((rtx));
+static unsigned ceiling PARAMS ((unsigned, unsigned));
+static tree field_type PARAMS ((tree));
+static unsigned simple_type_align_in_bits PARAMS ((tree));
+static unsigned simple_type_size_in_bits PARAMS ((tree));
+static unsigned field_byte_offset PARAMS ((tree));
+static void add_AT_location_description PARAMS ((dw_die_ref,
+ enum dwarf_attribute, rtx));
+static void add_data_member_location_attribute PARAMS ((dw_die_ref, tree));
+static void add_const_value_attribute PARAMS ((dw_die_ref, rtx));
+static void add_location_or_const_value_attribute PARAMS ((dw_die_ref, tree));
+static void add_name_attribute PARAMS ((dw_die_ref, const char *));
+static void add_bound_info PARAMS ((dw_die_ref,
+ enum dwarf_attribute, tree));
+static void add_subscript_info PARAMS ((dw_die_ref, tree));
+static void add_byte_size_attribute PARAMS ((dw_die_ref, tree));
+static void add_bit_offset_attribute PARAMS ((dw_die_ref, tree));
+static void add_bit_size_attribute PARAMS ((dw_die_ref, tree));
+static void add_prototyped_attribute PARAMS ((dw_die_ref, tree));
+static void add_abstract_origin_attribute PARAMS ((dw_die_ref, tree));
+static void add_pure_or_virtual_attribute PARAMS ((dw_die_ref, tree));
+static void add_src_coords_attributes PARAMS ((dw_die_ref, tree));
+static void add_name_and_src_coords_attributes PARAMS ((dw_die_ref, tree));
+static void push_decl_scope PARAMS ((tree));
+static dw_die_ref scope_die_for PARAMS ((tree, dw_die_ref));
+static void pop_decl_scope PARAMS ((void));
+static void add_type_attribute PARAMS ((dw_die_ref, tree, int, int,
+ dw_die_ref));
+static char *type_tag PARAMS ((tree));
+static tree member_declared_type PARAMS ((tree));
#if 0
-static char *decl_start_label PROTO((tree));
+static char *decl_start_label PARAMS ((tree));
#endif
-static void gen_array_type_die PROTO((tree, dw_die_ref));
-static void gen_set_type_die PROTO((tree, dw_die_ref));
+static void gen_array_type_die PARAMS ((tree, dw_die_ref));
+static void gen_set_type_die PARAMS ((tree, dw_die_ref));
#if 0
-static void gen_entry_point_die PROTO((tree, dw_die_ref));
+static void gen_entry_point_die PARAMS ((tree, dw_die_ref));
#endif
-static void gen_inlined_enumeration_type_die PROTO((tree, dw_die_ref));
-static void gen_inlined_structure_type_die PROTO((tree, dw_die_ref));
-static void gen_inlined_union_type_die PROTO((tree, dw_die_ref));
-static void gen_enumeration_type_die PROTO((tree, dw_die_ref));
-static dw_die_ref gen_formal_parameter_die PROTO((tree, dw_die_ref));
-static void gen_unspecified_parameters_die PROTO((tree, dw_die_ref));
-static void gen_formal_types_die PROTO((tree, dw_die_ref));
-static void gen_subprogram_die PROTO((tree, dw_die_ref));
-static void gen_variable_die PROTO((tree, dw_die_ref));
-static void gen_label_die PROTO((tree, dw_die_ref));
-static void gen_lexical_block_die PROTO((tree, dw_die_ref, int));
-static void gen_inlined_subroutine_die PROTO((tree, dw_die_ref, int));
-static void gen_field_die PROTO((tree, dw_die_ref));
-static void gen_ptr_to_mbr_type_die PROTO((tree, dw_die_ref));
-static dw_die_ref gen_compile_unit_die PROTO((const char *));
-static void gen_string_type_die PROTO((tree, dw_die_ref));
-static void gen_inheritance_die PROTO((tree, dw_die_ref));
-static void gen_member_die PROTO((tree, dw_die_ref));
-static void gen_struct_or_union_type_die PROTO((tree, dw_die_ref));
-static void gen_subroutine_type_die PROTO((tree, dw_die_ref));
-static void gen_typedef_die PROTO((tree, dw_die_ref));
-static void gen_type_die PROTO((tree, dw_die_ref));
-static void gen_tagged_type_instantiation_die PROTO((tree, dw_die_ref));
-static void gen_block_die PROTO((tree, dw_die_ref, int));
-static void decls_for_scope PROTO((tree, dw_die_ref, int));
-static int is_redundant_typedef PROTO((tree));
-static void gen_decl_die PROTO((tree, dw_die_ref));
-static unsigned lookup_filename PROTO((const char *));
-static void add_incomplete_type PROTO((tree));
-static void retry_incomplete_types PROTO((void));
-static void gen_type_die_for_member PROTO((tree, tree, dw_die_ref));
-static void gen_abstract_function PROTO((tree));
+static void gen_inlined_enumeration_type_die PARAMS ((tree, dw_die_ref));
+static void gen_inlined_structure_type_die PARAMS ((tree, dw_die_ref));
+static void gen_inlined_union_type_die PARAMS ((tree, dw_die_ref));
+static void gen_enumeration_type_die PARAMS ((tree, dw_die_ref));
+static dw_die_ref gen_formal_parameter_die PARAMS ((tree, dw_die_ref));
+static void gen_unspecified_parameters_die PARAMS ((tree, dw_die_ref));
+static void gen_formal_types_die PARAMS ((tree, dw_die_ref));
+static void gen_subprogram_die PARAMS ((tree, dw_die_ref));
+static void gen_variable_die PARAMS ((tree, dw_die_ref));
+static void gen_label_die PARAMS ((tree, dw_die_ref));
+static void gen_lexical_block_die PARAMS ((tree, dw_die_ref, int));
+static void gen_inlined_subroutine_die PARAMS ((tree, dw_die_ref, int));
+static void gen_field_die PARAMS ((tree, dw_die_ref));
+static void gen_ptr_to_mbr_type_die PARAMS ((tree, dw_die_ref));
+static dw_die_ref gen_compile_unit_die PARAMS ((const char *));
+static void gen_string_type_die PARAMS ((tree, dw_die_ref));
+static void gen_inheritance_die PARAMS ((tree, dw_die_ref));
+static void gen_member_die PARAMS ((tree, dw_die_ref));
+static void gen_struct_or_union_type_die PARAMS ((tree, dw_die_ref));
+static void gen_subroutine_type_die PARAMS ((tree, dw_die_ref));
+static void gen_typedef_die PARAMS ((tree, dw_die_ref));
+static void gen_type_die PARAMS ((tree, dw_die_ref));
+static void gen_tagged_type_instantiation_die PARAMS ((tree, dw_die_ref));
+static void gen_block_die PARAMS ((tree, dw_die_ref, int));
+static void decls_for_scope PARAMS ((tree, dw_die_ref, int));
+static int is_redundant_typedef PARAMS ((tree));
+static void gen_decl_die PARAMS ((tree, dw_die_ref));
+static unsigned lookup_filename PARAMS ((const char *));
+static void add_incomplete_type PARAMS ((tree));
+static void retry_incomplete_types PARAMS ((void));
+static void gen_type_die_for_member PARAMS ((tree, tree, dw_die_ref));
+static void gen_abstract_function PARAMS ((tree));
/* Section names used to hold DWARF debugging information. */
#ifndef DEBUG_INFO_SECTION
@@ -2632,11 +2637,11 @@ static char debug_line_section_label[MAX_ARTIFICIAL_LABEL_BYTES];
/* We allow a language front-end to designate a function that is to be
called to "demangle" any name before it it put into a DIE. */
-static const char *(*demangle_name_func) PROTO((const char *));
+static const char *(*demangle_name_func) PARAMS ((const char *));
void
dwarf2out_set_demangle_name_func (func)
- const char *(*func) PROTO((const char *));
+ const char *(*func) PARAMS ((const char *));
{
demangle_name_func = func;
}