diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-06 09:34:02 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-06 09:34:02 +0000 |
commit | 28f9c1a13b11cb8413d40d149da6e5b220360bf9 (patch) | |
tree | 341783051f439a033175280d7b0b6c24f7713040 /gcc/gimple-low.c | |
parent | 96df1423020a301c34bc62a1f52bcebfbd889dc4 (diff) | |
download | gcc-28f9c1a13b11cb8413d40d149da6e5b220360bf9.tar.gz |
* gimple-low.c (lower_gimple_return): When not optimizing, force labels
associated with user returns to be preserved.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172030 138bc75d-0d04-0410-961f-82ee72b054a4
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)); |