diff options
author | Per Bothner <per@bothner.com> | 2004-06-30 11:18:01 -0700 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 2004-06-30 11:18:01 -0700 |
commit | 6773e15fa5ac64bf67b19088e149f4d3cda2cf9a (patch) | |
tree | f55d68b85e9f94ddf4bbe5761ff0a2f4ee16bbc9 /gcc/dwarf2out.c | |
parent | a281759fdf4cc20f179d37ef875f7c233ab68f46 (diff) | |
download | gcc-6773e15fa5ac64bf67b19088e149f4d3cda2cf9a.zip gcc-6773e15fa5ac64bf67b19088e149f4d3cda2cf9a.tar.gz gcc-6773e15fa5ac64bf67b19088e149f4d3cda2cf9a.tar.bz2 |
Conditionally compile support for --enable-mapped_location.
* cfgexpand.c: Handle USE_MAPPED_LOCATION case for function_end_locus.
* cfglayout.c (insn_locators_initialize): Const cleanup. New macros.
* cfgrtl.c (delete_insn): Use new NOTE_DELETED_LABEL_NAME macro.
* print-rtl.c (print_rtx): Likewise.
* emit-rtl.c: Don't clear NOTE_SOURCE_FILE if USE_MAPPED_LOCATION.
* combine.c: Use new SET_INSN_DELETED macro.
* flow.c: Likewise.
* haifa-sched.c: Likewise.
* ifcvt.c: Likewise.
* recog.c: Likewise.
* reload1.c: Likewise.
* diagnostic.c: Use expand_location macro.
* pretty-print.c (pp_base_format_text): Likewise.
* profile.c: Likewise.
* dwarf2out.c: Likewise. Also use expand_location, DECL_IS_BUILTIN.
* dwarf2out.c (dwarf2out_decl: Use BUILTINS_LOCATION.
* emit-rtl.c (emit_line_note): Simplify if USE_MAPPED_LOCATION.
(force_next_line_note, insn_emit): Handle USE_MAPPED_LOCATION case.
* final.c (final): Likewise.
* haifa-sched.c: Likewise.
* integrate.c: Likewise.
* jump.c: Likewise.
* rtl-error.c: Likewise.
* stmt.c (check_seenlabel): Likewise.
* tree-pretty-print.c: Likewise.
From-SVN: r83921
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 93afca7..17b4c20 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -10501,10 +10501,11 @@ add_pure_or_virtual_attribute (dw_die_ref die, tree func_decl) static void add_src_coords_attributes (dw_die_ref die, tree decl) { - unsigned file_index = lookup_filename (DECL_SOURCE_FILE (decl)); + expanded_location s = expand_location (DECL_SOURCE_LOCATION (decl)); + unsigned file_index = lookup_filename (s.file); add_AT_unsigned (die, DW_AT_decl_file, file_index); - add_AT_unsigned (die, DW_AT_decl_line, DECL_SOURCE_LINE (decl)); + add_AT_unsigned (die, DW_AT_decl_line, s.line); } /* Add a DW_AT_name attribute and source coordinate attribute for the @@ -11199,7 +11200,8 @@ gen_subprogram_die (tree decl, dw_die_ref context_die) } else if (old_die) { - unsigned file_index = lookup_filename (DECL_SOURCE_FILE (decl)); + expanded_location s = expand_location (DECL_SOURCE_LOCATION (decl)); + unsigned file_index = lookup_filename (s.file); if (!get_AT_flag (old_die, DW_AT_declaration) /* We can have a normal definition following an inline one in the @@ -11228,7 +11230,7 @@ gen_subprogram_die (tree decl, dw_die_ref context_die) && (DECL_ARTIFICIAL (decl) || (get_AT_unsigned (old_die, DW_AT_decl_file) == file_index && (get_AT_unsigned (old_die, DW_AT_decl_line) - == (unsigned) DECL_SOURCE_LINE (decl))))) + == (unsigned) s.line)))) { subr_die = old_die; @@ -11247,9 +11249,9 @@ gen_subprogram_die (tree decl, dw_die_ref context_die) if (get_AT_unsigned (old_die, DW_AT_decl_file) != file_index) add_AT_unsigned (subr_die, DW_AT_decl_file, file_index); if (get_AT_unsigned (old_die, DW_AT_decl_line) - != (unsigned) DECL_SOURCE_LINE (decl)) + != (unsigned) s.line) add_AT_unsigned - (subr_die, DW_AT_decl_line, DECL_SOURCE_LINE (decl)); + (subr_die, DW_AT_decl_line, s.line); } } else @@ -11476,16 +11478,16 @@ gen_variable_die (tree decl, dw_die_ref context_die) add_AT_specification (var_die, old_die); if (DECL_NAME (decl)) { - unsigned file_index = lookup_filename (DECL_SOURCE_FILE (decl)); + expanded_location s = expand_location (DECL_SOURCE_LOCATION (decl)); + unsigned file_index = lookup_filename (s.file); if (get_AT_unsigned (old_die, DW_AT_decl_file) != file_index) add_AT_unsigned (var_die, DW_AT_decl_file, file_index); if (get_AT_unsigned (old_die, DW_AT_decl_line) - != (unsigned) DECL_SOURCE_LINE (decl)) + != (unsigned) s.line) - add_AT_unsigned (var_die, DW_AT_decl_line, - DECL_SOURCE_LINE (decl)); + add_AT_unsigned (var_die, DW_AT_decl_line, s.line); } } else @@ -12776,6 +12778,7 @@ dwarf2out_imported_module_or_decl (tree decl, tree context) dw_die_ref imported_die, at_import_die; dw_die_ref scope_die; unsigned file_index; + expanded_location xloc; if (debug_info_level <= DINFO_LEVEL_TERSE) return; @@ -12807,10 +12810,11 @@ dwarf2out_imported_module_or_decl (tree decl, tree context) imported_die = new_die (DW_TAG_imported_module, scope_die, context); else imported_die = new_die (DW_TAG_imported_declaration, scope_die, context); - - file_index = lookup_filename (input_filename); + + xloc = expand_location (input_location); + file_index = lookup_filename (xloc.file); add_AT_unsigned (imported_die, DW_AT_decl_file, file_index); - add_AT_unsigned (imported_die, DW_AT_decl_line, input_line); + add_AT_unsigned (imported_die, DW_AT_decl_line, xloc.line); add_AT_die_ref (imported_die, DW_AT_import, at_import_die); } @@ -12898,7 +12902,7 @@ dwarf2out_decl (tree decl) /* Don't bother trying to generate any DIEs to represent any of the normal built-in types for the language we are compiling. */ - if (DECL_SOURCE_LINE (decl) == 0) + if (DECL_IS_BUILTIN (decl)) { /* OK, we need to generate one for `bool' so GDB knows what type comparisons have. */ |