summaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-26 02:56:44 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-26 02:56:44 +0000
commit442769015c7c50ca6cf327e1da232ab25e79012c (patch)
tree21c55286c5bc2b5af118cad52bc71fa46c46a004 /gcc/tree-inline.c
parentd9a1309008f2590a1fcd70aac4f32b600006837f (diff)
downloadgcc-442769015c7c50ca6cf327e1da232ab25e79012c.tar.gz
Better debug info for inlined functions.
* dwarf2out.c (add_call_src_coords_attributes): New. (gen_inlined_subroutine_die): Call it. (maybe_emit_file, init_file_table): Add comments. (prune_unused_types_walk_attribs): Pass DW_AT_call_file through maybe_emit_file. * tree-inline.c (remap_block): Copy BLOCK_SOURCE_LOCATION. (expand_call_inline): Set BLOCK_SOURCE_LOCATION. * tree.h (BLOCK_SOURCE_LOCATION): New. (struct tree_block): New field locus. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102379 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r--gcc/tree-inline.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index a0e5a71d194..21d8ac003ed 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -421,6 +421,7 @@ remap_block (tree *block, inline_data *id)
new_block = make_node (BLOCK);
TREE_USED (new_block) = TREE_USED (old_block);
BLOCK_ABSTRACT_ORIGIN (new_block) = old_block;
+ BLOCK_SOURCE_LOCATION (new_block) = BLOCK_SOURCE_LOCATION (old_block);
*block = new_block;
/* Remap its variables. */
@@ -2025,9 +2026,9 @@ expand_call_inline (basic_block bb, tree stmt, tree *tp, void *data)
statement expression is the return type of the function call. */
id->block = make_node (BLOCK);
BLOCK_ABSTRACT_ORIGIN (id->block) = fn;
+ BLOCK_SOURCE_LOCATION (id->block) = input_location;
add_lexical_block (TREE_BLOCK (stmt), id->block);
-
/* Local declarations will be replaced by their equivalents in this
map. */
st = id->decl_map;