xref: /dragonfly/contrib/gcc-8.0/gcc/ggc-none.c (revision 8bf5b238)
1 /* Null garbage collection for the GNU compiler.
2    Copyright (C) 1998-2018 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 "hash-table.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 }
75