summaryrefslogtreecommitdiff
path: root/gcc/ggc-none.c
blob: 4e9ef4aacd7b67ebb6e3162345efa1c9a755518c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/* Null garbage collection for the GNU compiler.
   Copyright (C) 1998, 1999 Free Software Foundation, Inc.

   This file is part of GNU CC.

   GNU CC is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   GNU CC is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with GNU CC; see the file COPYING.  If not, write to
   the Free Software Foundation, 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.  */

/* This version is used by the gen* programs, where we don't really
   need GC at all.  This prevents problems with pulling in all the
   tree stuff.  */

/* We are used by gengenrtl, before genrtl.h exists.  But we don't 
   need it either.  */
#define NO_GENRTL_H

#include "config.h"
#include "system.h"
#include "rtl.h"
#include "tm_p.h"
#include "ggc.h"

/* For now, keep using the old obstack scheme in the gen* programs.  */
int ggc_p = 0;

rtx
ggc_alloc_rtx (nslots)
     int nslots;
{
  int size = sizeof(struct rtx_def) + (nslots - 1) * sizeof(rtunion);
  rtx n;

  n = (rtx) xmalloc (size);
  bzero ((char *) n, size);

  return n;
}

rtvec
ggc_alloc_rtvec (nelt)
     int nelt;
{
  int size = sizeof (struct rtvec_def) + (nelt - 1) * sizeof (rtx);
  rtvec v;

  v = (rtvec) xmalloc (size);
  bzero ((char *) v, size);

  return v;
}