X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fggc-none.c;h=97d25b9b6536c48bab0d00ef4ad1534689b2885a;hb=046f323efd9149bb5d2d5638466e98ed238b7635;hp=4d4604adcdfe405fff32f59f80d7101b29a54f6b;hpb=a62ddad6b3e6a2e32ea091ec83a211a007468fd5;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ggc-none.c b/gcc/ggc-none.c index 4d4604adcdf..97d25b9b653 100644 --- a/gcc/ggc-none.c +++ b/gcc/ggc-none.c @@ -1,12 +1,12 @@ /* Null garbage collection for the GNU compiler. - Copyright (C) 1998, 1999, 2000, 2003, 2004 + Copyright (C) 1998, 1999, 2000, 2003, 2004, 2005, 2007, 2010 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 @@ -15,50 +15,78 @@ 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 + . */ -/* 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" -struct alloc_zone *rtl_zone = NULL; -struct alloc_zone *garbage_zone = NULL; void * -ggc_alloc_typed_stat (enum gt_types_enum gte ATTRIBUTE_UNUSED, size_t size +ggc_alloc_typed_stat (enum gt_types_enum ARG_UNUSED (gte), size_t size MEM_STAT_DECL) { return xmalloc (size); } void * -ggc_alloc_stat (size_t size MEM_STAT_DECL) +ggc_internal_alloc_stat (size_t size MEM_STAT_DECL) { return xmalloc (size); } void * -ggc_alloc_zone_stat (size_t size, struct alloc_zone *zone ATTRIBUTE_UNUSED - MEM_STAT_DECL) +ggc_internal_cleared_alloc_stat (size_t size MEM_STAT_DECL) { - return xmalloc (size); + return xcalloc (size, 1); } void * -ggc_alloc_cleared_stat (size_t size MEM_STAT_DECL) +ggc_realloc_stat (void *x, size_t size MEM_STAT_DECL) { - return xcalloc (size, 1); + return xrealloc (x, size); +} + +void +ggc_free (void *p) +{ + free (p); +} + +struct alloc_zone +{ + int dummy; +}; + +struct alloc_zone rtl_zone; +struct alloc_zone tree_zone; +struct alloc_zone tree_id_zone; + +#if defined (GGC_ZONE) && !defined (GENERATOR_FILE) + +void * +ggc_internal_alloc_zone_stat (size_t size, + struct alloc_zone * ARG_UNUSED(z) MEM_STAT_DECL) +{ + return xmalloc (size); } void * -ggc_realloc_stat (void *x, size_t size MEM_STAT_DECL) +ggc_internal_cleared_alloc_zone_stat (size_t size, + struct alloc_zone * ARG_UNUSED(z) + MEM_STAT_DECL) { - return xrealloc (x, size); + return xcalloc (size, 1); } + +#endif