cfgexpand.c (expand_gimple_stmt_1): If the statement doesn't have location...

* cfgexpand.c (expand_gimple_stmt_1) <GIMPLE_RETURN>: If the statement
	doesn't have location, set the current location to the function's end

From-SVN: r273434
This commit is contained in:
Eric Botcazou 2019-07-12 09:35:21 +00:00 committed by Eric Botcazou
parent e7ba492a04
commit e067f9924b
2 changed files with 11 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2019-07-12 Eric Botcazou <ebotcazou@adacore.com>
* cfgexpand.c (expand_gimple_stmt_1) <GIMPLE_RETURN>: If the statement
doesn't have location, set the current location to the function's end.
2019-07-12 Richard Sandiford <richard.sandiford@arm.com>
* config/aarch64/aarch64.md (*compare_condjump<mode>)

View File

@ -3714,6 +3714,12 @@ expand_gimple_stmt_1 (gimple *stmt)
{
op0 = gimple_return_retval (as_a <greturn *> (stmt));
/* If a return doesn't have a location, it very likely represents
multiple user returns so we cannot let it inherit the location
of the last statement of the previous basic block in RTL. */
if (!gimple_has_location (stmt))
set_curr_insn_location (cfun->function_end_locus);
if (op0 && op0 != error_mark_node)
{
tree result = DECL_RESULT (current_function_decl);