diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2011-04-06 09:34:02 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2011-04-06 09:34:02 +0000 |
commit | 516426da9f3147a1eda0740ec4b5d1fd8b3070cb (patch) | |
tree | 341783051f439a033175280d7b0b6c24f7713040 /gcc/gimple-low.c | |
parent | 96621ebf37743e4882759f50f0f0b84a04fc1606 (diff) | |
download | gcc-516426da9f3147a1eda0740ec4b5d1fd8b3070cb.tar.gz |
gimple-low.c (lower_gimple_return): When not optimizing, force labels associated with user returns to be preserved.
* gimple-low.c (lower_gimple_return): When not optimizing, force labels
associated with user returns to be preserved.
From-SVN: r172030
Diffstat (limited to 'gcc/gimple-low.c')
-rw-r--r-- | gcc/gimple-low.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/gimple-low.c b/gcc/gimple-low.c index 67087a0aadc..9d774429bab 100644 --- a/gcc/gimple-low.c +++ b/gcc/gimple-low.c @@ -758,6 +758,9 @@ lower_gimple_return (gimple_stmt_iterator *gsi, struct lower_data *data) /* Generate a goto statement and remove the return statement. */ found: + /* When not optimizing, make sure user returns are preserved. */ + if (!optimize && gimple_has_location (stmt)) + DECL_ARTIFICIAL (tmp_rs.label) = 0; t = gimple_build_goto (tmp_rs.label); gimple_set_location (t, gimple_location (stmt)); gimple_set_block (t, gimple_block (stmt)); |