(output_decl, case FUNCTION_DECL): Corrected and simplified code that
determined when to generate varargs or ANSI stdargs variable length
parameter list DWARF information.
From-SVN: r7816
(output_decl): Check for DECL_INITIAL == NULL_TREE rather than
DECL_EXTERNAL != 0 when trying to see if we have a mere function
declaration rather than a function definition.
(dwarfout_file_scope_decl): Likewise. Also, don't bother checking
TREE_USED for file-scope functions, since it isn't 100% accurate until
the end of compilation anyway.
From-SVN: r4225
(location_or_const_value_attribute): Fixed to use DECL_INCOMING_RTL
for PARM_DECLs only when DECL_RTL isn't usable, and even then, only
when it actually points to the right place.
From-SVN: r4189
(dwarfout_init, dwarfout_finish): Don't output labels
or .debug_aranges entries for .data1 and .rodata1 as these
sections aren't currently used.
From-SVN: r2369
(body_{begin,end}_attribute): New functions.
(dwarf_attr_name): Print AT_body_begin and AT_body_end.
(output_{local,global}_subroutine_die): Output the new attributes.
From-SVN: r2361
(PRINT_REG): Default definition added.
(dwarf_last_decl): Variable declaration added.
(output_reg_number): New function; handle -fverbose-asm reg printing.
(output_mem_loc_descriptor, output_loc_descriptor): Call it.
(output_decl): Set `dwarf_last_decl' each time this fn is called.
From-SVN: r2325
Catch cases of bogus DECL_RTL values involving pseudo-regs (for all
target systems) and print an annoying message if we ever see such a case.
From-SVN: r2311
(member_attribute): Use it.
(type_ok_for_scope): Rewritten to eliminate serious bugs.
(output_type): Call `output_pending_types_for_scope' at the end of
struct/union types (which are themselves scopes in C++).
From-SVN: r1681
(pure_or_virtual_attribute):
Add #if 0 around use of DECL_ABSTRACT_VIRTUAL_P.
(BLOCK_INLINE_FUNCTION): Obsolete definition deleted.
(block_ultimate_origin): New function.
(output_block): Local `have_significant_locals' renamed to `must_output_die'.
(output_block): Handle abstract & concrete blocks in inline functions.
(output_decls_for_scope): Don't bump `next_block_number' for abstract blocks.
From-SVN: r1601
(output_inlined_structure_type_die, output_inlined_union_type_die):
New functions added.
(output_entry_point_die, output_formal_parameter_die,
output_global_subroutine_die, output_global_variable_die,
output_label_die, output_lexical_block_die,
output_inlined_subroutine_die, output_local_variable_die,
output_local_subroutine_die):
Fixed to handle inline abstract & concrete (i.e. inlined) instances.
(output_inlined_subroutine_die): Deleted.
(output_label_die): Don't permit the rtx associated with a named
user-declared label to be marked as INSN_DELETED_P.
(output_tagged_type_instantiation): New function added.
(output_decl): Call `output_tagged_type_instantiation'.
Don't generate a pubnames label for anything marked as DECL_ABSTRACT.
(output_die): Generate the proper kind fo DIE for each of the four
possible combination of {normal, inlined} {variable, parameter}.
(dwarfout_file_scope_decl): Don't generate pubnames entries if
strictly abstract.
(ordering_attribute): Only def if USE_ORDERING_ATTRIBUTE
is defined.
(output_array_type_die): Only call ordering_attribute if it is defined.
(name_and_src_coords_attributes): Don't make it inline.
Do make it static linkage.
(const_value_attribute): Catch invalid kinds of rtx nodes
by aborting for the default case in switch.
(output_ptr_to_mbr_type_die): Make it static linkage.
(output_formal_types): Make sure that `formal_type' is initialized.
(output_type): Add a default case for switch.
(output_decl): Don't suppress DIEs for the initial (artificial)
arguments for C++ static member functions.
(ceiling, field_type, simple_type_align_in_bits,
simple_type_size_in_bits, field_byte_offset): New functions added.
(data_member_location_attribute): Use new routine `field_byte_offset'
to calculate the offset value for the AT_location attribute.
(byte_size_attribute): Use new routine `field_type' to get the
actual type for any FIELD_DECL. Also, use `simple_type_size_in_bits'
to avoid potential problems with ERROR_MARKs when computing the size
of a FIELD_DECL.
(bit_offset_attribute): Rewritten to use `field_byte_offset' when
determining the start of the "containing object".
From-SVN: r1531