Import pre-release gcc-5.0 to new vendor branch
[dragonfly.git] / contrib / gcc-5.0 / gcc / ggc-none.c
1 /* Null garbage collection for the GNU compiler.
2    Copyright (C) 1998-2015 Free Software Foundation, Inc.
3
4    This file is part of GCC.
5
6    GCC is free software; you can redistribute it and/or modify it
7    under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 3, or (at your option)
9    any later version.
10
11    GCC is distributed in the hope that it will be useful, but WITHOUT
12    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
14    License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with GCC; see the file COPYING3.  If not see
18    <http://www.gnu.org/licenses/>.  */
19
20 /* This version is used by the gen* programs and certain language-specific
21    targets (such as java), where we don't really need GC at all.
22    This prevents problems with pulling in all the tree stuff.  */
23
24 #ifdef GENERATOR_FILE
25 #include "bconfig.h"
26 #else
27 #include "config.h"
28 #endif
29
30 #include "system.h"
31 #include "coretypes.h"
32 #include "ggc.h"
33
34 /* For a given size of memory requested for allocation, return the
35    actual size that is going to be allocated.  */
36
37 size_t
38 ggc_round_alloc_size (size_t requested_size)
39 {
40   return requested_size;
41 }
42
43 void *
44 ggc_internal_alloc (size_t size, void (*f)(void *), size_t, size_t
45                     MEM_STAT_DECL)
46 {
47   gcc_assert (!f); // ggc-none doesn't support finalizers
48   return xmalloc (size);
49 }
50
51 void *
52 ggc_internal_cleared_alloc (size_t size, void (*f)(void *), size_t, size_t
53                             MEM_STAT_DECL)
54 {
55   gcc_assert (!f); // ggc-none doesn't support finalizers
56   return xcalloc (size, 1);
57 }
58
59 void *
60 ggc_realloc_stat (void *x, size_t size MEM_STAT_DECL)
61 {
62   return xrealloc (x, size);
63 }
64
65 void
66 ggc_free (void *p)
67 {
68   free (p);
69 }
70
71 void
72 ggc_grow (void)
73 {
74 }