diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c44b13bf69c..4002376f8f9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-03-08 Richard Biener + + * tree-inline.c (expand_call_inline): Do not associate + a BLOCK with the location in BLOCK_SOURCE_LOCATION. + * tree-cfg.c (verify_location): Verify BLOCK_SOURCE_LOCATION. + 2013-03-08 Richard Biener * tree-ssa-ter.c (is_replaceable_p): Do not TER across location diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 83003fb8b44..7be44e42e4b 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -4511,6 +4511,8 @@ verify_location (pointer_set_t *blocks, location_t loc) error ("location references block not in block tree"); return true; } + if (block != NULL_TREE) + return verify_location (blocks, BLOCK_SOURCE_LOCATION (block)); return false; } diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 714bcf0fcb0..5121765fd35 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -3929,7 +3929,7 @@ expand_call_inline (basic_block bb, gimple stmt, copy_body_data *id) { id->block = make_node (BLOCK); BLOCK_ABSTRACT_ORIGIN (id->block) = fn; - BLOCK_SOURCE_LOCATION (id->block) = input_location; + BLOCK_SOURCE_LOCATION (id->block) = LOCATION_LOCUS (input_location); prepend_lexical_block (gimple_block (stmt), id->block); }