summaryrefslogtreecommitdiff
path: root/gcc/config/cris/cris.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/cris/cris.c')
-rw-r--r--gcc/config/cris/cris.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c
index 62912f2e424..0fa6660dc97 100644
--- a/gcc/config/cris/cris.c
+++ b/gcc/config/cris/cris.c
@@ -63,7 +63,7 @@ Boston, MA 02111-1307, USA. */
} while (0)
/* Per-function machine data. */
-struct machine_function
+struct machine_function GTY(())
{
int needs_return_address_on_stack;
};
@@ -85,7 +85,7 @@ static void cris_print_base PARAMS ((rtx, FILE *));
static void cris_print_index PARAMS ((rtx, FILE *));
-static void cris_init_machine_status PARAMS ((struct function *));
+static struct machine_function * cris_init_machine_status PARAMS ((void));
static int cris_initial_frame_pointer_offset PARAMS ((void));
@@ -2697,11 +2697,10 @@ cris_init_expanders ()
/* Zero initialization is OK for all current fields. */
-static void
-cris_init_machine_status (p)
- struct function *p;
+static struct machine_function *
+cris_init_machine_status ()
{
- p->machine = xcalloc (1, sizeof (struct machine_function));
+ return ggc_alloc_cleared (sizeof (struct machine_function));
}
/* Split a 2 word move (DI or presumably DF) into component parts.
@@ -3129,6 +3128,8 @@ Prev_insn (insn)
}
#endif
+#include "gt-cris.h"
+
/*
* Local variables:
* eval: (c-set-style "gnu")