Remove a layer of indirection from hash_table
[gcc.git] / gcc / ggc-none.c
index ee53e761a85b844513669627f2aa0f682b95e7f9..29a7b2f767ac481d7ff80c4b71e716938c5a20d2 100644 (file)
@@ -1,12 +1,11 @@
 /* Null garbage collection for the GNU compiler.
-   Copyright (C) 1998, 1999, 2000, 2003
-   Free Software Foundation, Inc.
+   Copyright (C) 1998-2014 Free Software Foundation, Inc.
 
    This file is part of GCC.
 
    GCC 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)
+   the Free Software Foundation; either version 3, or (at your option)
    any later version.
 
    GCC is distributed in the hope that it will be useful, but WITHOUT
    License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the Free
-   Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.  */
+   along with GCC; see the file COPYING3.  If not see
+   <http://www.gnu.org/licenses/>.  */
 
-/* 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.  */
+/* This version is used by the gen* programs and certain language-specific
+   targets (such as java), where we don't really need GC at all.
+   This prevents problems with pulling in all the tree stuff.  */
 
+#ifdef GENERATOR_FILE
+#include "bconfig.h"
+#else
 #include "config.h"
+#endif
+
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
 #include "ggc.h"
 
+/* For a given size of memory requested for allocation, return the
+   actual size that is going to be allocated.  */
+
+size_t
+ggc_round_alloc_size (size_t requested_size)
+{
+  return requested_size;
+}
+
 void *
-ggc_alloc (size_t size)
+ggc_internal_alloc (size_t size, void (*f)(void *), size_t, size_t
+                   MEM_STAT_DECL)
 {
+  gcc_assert (!f); // ggc-none doesn't support finalizers
   return xmalloc (size);
 }
 
 void *
-ggc_alloc_cleared (size_t size)
+ggc_internal_cleared_alloc (size_t size, void (*f)(void *), size_t, size_t
+                           MEM_STAT_DECL)
 {
+  gcc_assert (!f); // ggc-none doesn't support finalizers
   return xcalloc (size, 1);
 }
 
 void *
-ggc_realloc (void *x, size_t size)
+ggc_realloc_stat (void *x, size_t size MEM_STAT_DECL)
 {
   return xrealloc (x, size);
 }
+
+void
+ggc_free (void *p)
+{
+  free (p);
+}
+
+void
+ggc_grow (void)
+{
+}