mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-08 01:07:18 +08:00
Fix memory leak
From-SVN: r38811
This commit is contained in:
parent
5a259aec51
commit
f7a80099bd
@ -1,3 +1,10 @@
|
||||
2001-01-08 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config/arm/arm.c (arm_mark_machine_status): Check to see if
|
||||
the machine structure has been allocated.
|
||||
(arm_free_machine_status): New function: Free the machine
|
||||
specific function structure.
|
||||
|
||||
2001-01-08 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* jump.c (simplejump_p): Revert last change.
|
||||
|
@ -76,6 +76,7 @@ static Mmode select_dominance_cc_mode PARAMS ((rtx, rtx, Hint));
|
||||
static Ccstar shift_op PARAMS ((rtx, Hint *));
|
||||
static void arm_init_machine_status PARAMS ((struct function *));
|
||||
static void arm_mark_machine_status PARAMS ((struct function *));
|
||||
static void arm_free_machine_status PARAMS ((struct function *));
|
||||
static int number_of_first_bit_set PARAMS ((int));
|
||||
static void replace_symbols_in_block PARAMS ((tree, rtx, rtx));
|
||||
static void thumb_exit PARAMS ((FILE *, int, rtx));
|
||||
@ -9587,8 +9588,11 @@ arm_mark_machine_status (p)
|
||||
{
|
||||
machine_function *machine = p->machine;
|
||||
|
||||
ggc_mark_rtx (machine->ra_rtx);
|
||||
ggc_mark_rtx (machine->eh_epilogue_sp_ofs);
|
||||
if (machine)
|
||||
{
|
||||
ggc_mark_rtx (machine->ra_rtx);
|
||||
ggc_mark_rtx (machine->eh_epilogue_sp_ofs);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
@ -9603,6 +9607,17 @@ arm_init_machine_status (p)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
arm_free_machine_status (p)
|
||||
struct function * p;
|
||||
{
|
||||
if (p->machine)
|
||||
{
|
||||
free (p->machine);
|
||||
p->machine = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* Return an RTX indicating where the return address to the
|
||||
calling function can be found. */
|
||||
rtx
|
||||
@ -9650,6 +9665,7 @@ arm_init_expanders ()
|
||||
/* Arrange to initialize and mark the machine per-function status. */
|
||||
init_machine_status = arm_init_machine_status;
|
||||
mark_machine_status = arm_mark_machine_status;
|
||||
free_machine_status = arm_free_machine_status;
|
||||
}
|
||||
|
||||
/* Generate the rest of a function's prologue. */
|
||||
|
Loading…
Reference in New Issue
Block a user