re PR debug/66691 (ICE on valid code at -O3 with -g enabled in simplify_subreg, at...
[gcc.git] / gcc / ggc-none.c
index ae3f6e9a971e2025cc73b51c48e085575ed18d0e..cea6fad10a3d04137323c2c6857b2c9d0b9df05c 100644 (file)
@@ -1,11 +1,11 @@
 /* Null garbage collection for the GNU compiler.
-   Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1998-2015 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 "ggc.h"
+#include "coretypes.h"
+#include "hash-table.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)
-     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_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_stat (void *x, size_t size MEM_STAT_DECL)
+{
+  return xrealloc (x, size);
+}
+
+void
+ggc_free (void *p)
+{
+  free (p);
+}
+
+void
+ggc_grow (void)
+{
+}