aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfgcleanup.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2014-04-07 08:38:23 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2014-04-07 08:38:23 +0000
commit308173e30bff3cb179f75fdf4b96310482dc6846 (patch)
treec873482c24ce3a1ea1806d1b868c0d6d7ce57885 /gcc/tree-cfgcleanup.c
parentf2e9b72b1a987adc31f0c0f56c7e2610de60fc43 (diff)
downloadgcc-308173e30bff3cb179f75fdf4b96310482dc6846.zip
gcc-308173e30bff3cb179f75fdf4b96310482dc6846.tar.gz
gcc-308173e30bff3cb179f75fdf4b96310482dc6846.tar.bz2
re PR c++/60750 (double free after std::move on string inside throw when compiled with optimization)
2014-04-07 Richard Biener <rguenther@suse.de> PR middle-end/60750 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs for noreturn calls. * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs. * g++.dg/torture/pr60750.C: New testcase. * gcc.dg/tree-ssa/20040517-1.c: Adjust. From-SVN: r209179
Diffstat (limited to 'gcc/tree-cfgcleanup.c')
-rw-r--r--gcc/tree-cfgcleanup.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/gcc/tree-cfgcleanup.c b/gcc/tree-cfgcleanup.c
index 08401dd..b7882cf 100644
--- a/gcc/tree-cfgcleanup.c
+++ b/gcc/tree-cfgcleanup.c
@@ -586,9 +586,6 @@ fixup_noreturn_call (gimple stmt)
update_stmt (stmt);
changed = true;
}
- /* Similarly remove VDEF if there is any. */
- else if (gimple_vdef (stmt))
- update_stmt (stmt);
return changed;
}