aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2014-09-23 14:47:45 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2014-09-23 14:47:45 +0000
commitad01608e1402904d7b9041a985a05c4348d2085b (patch)
treeb88c2df92168eb4ba17dc3577347c28630206cba /gcc
parent48e968a72081812d4e0c271b5397fbffa2ba7e3a (diff)
downloadgcc-ad01608e1402904d7b9041a985a05c4348d2085b.zip
gcc-ad01608e1402904d7b9041a985a05c4348d2085b.tar.gz
gcc-ad01608e1402904d7b9041a985a05c4348d2085b.tar.bz2
re PR bootstrap/63280 (Double free in GCC compiled with LTO and -O3.)
gcc/ PR bootstrap/63280 * target-globals.c (target_globals::~target_globals): Fix location of ira_int destruction. From-SVN: r215515
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/target-globals.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 576835f..991cc55 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2014-09-23 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR bootstrap/63280
+ * target-globals.c (target_globals::~target_globals): Fix location
+ of ira_int destruction.
+
2014-09-23 Renlin Li <renlin.li@arm.com>
* config/aarch64/aarch64.md (return): New.
diff --git a/gcc/target-globals.c b/gcc/target-globals.c
index 52ac2c0..9122d67 100644
--- a/gcc/target-globals.c
+++ b/gcc/target-globals.c
@@ -121,10 +121,10 @@ save_target_globals_default_opts ()
target_globals::~target_globals ()
{
- ira_int->~target_ira_int ();
/* default_target_globals points to static data so shouldn't be freed. */
if (this != &default_target_globals)
{
+ ira_int->~target_ira_int ();
hard_regs->finalize ();
XDELETE (flag_state);
XDELETE (regs);