LCOV - code coverage report
Current view: top level - gcc - ggc-none.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 0.0 % 17 0
Test Date: 2026-02-28 14:20:25 Functions: 0.0 % 7 0
Legend: Lines:     hit not hit

            Line data    Source code
       1              : /* Null garbage collection for the GNU compiler.
       2              :    Copyright (C) 1998-2026 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            0 : ggc_round_alloc_size (size_t requested_size)
      39              : {
      40            0 :   return requested_size;
      41              : }
      42              : 
      43              : #ifdef HAVE_ATTRIBUTE_ALIAS
      44              : extern "C" void *
      45            0 : ggc_internal_alloc_ (size_t size, void (*f)(void *), size_t, size_t
      46              :                      MEM_STAT_DECL)
      47              : {
      48            0 :   gcc_assert (!f); // ggc-none doesn't support finalizers
      49            0 :   return xmalloc (size);
      50              : }
      51              : 
      52              : extern "C" void *
      53            0 : ggc_internal_cleared_alloc_ (size_t size, void (*f)(void *), size_t, size_t
      54              :                              MEM_STAT_DECL)
      55              : {
      56            0 :   gcc_assert (!f); // ggc-none doesn't support finalizers
      57            0 :   return xcalloc (size, 1);
      58              : }
      59              : 
      60              : extern void *
      61              : ggc_internal_alloc (size_t size, void (*f)(void *), size_t s,
      62              :                                 size_t n MEM_STAT_DECL)
      63              :      __attribute__((__alias__ ("ggc_internal_alloc_")));
      64              : extern void *
      65              : ggc_internal_alloc_no_dtor (size_t size, void (*f)(void *), size_t s,
      66              :                             size_t n MEM_STAT_DECL)
      67              :      __attribute__((__alias__ ("ggc_internal_alloc_")));
      68              : extern void *
      69              : ggc_internal_cleared_alloc (size_t size, void (*f)(void *),
      70              :                             size_t s, size_t n MEM_STAT_DECL)
      71              :      __attribute__((__alias__ ("ggc_internal_cleared_alloc_")));
      72              : extern void *
      73              : ggc_internal_cleared_alloc_no_dtor (size_t size, void (*f)(void *),
      74              :                                     size_t s, size_t n MEM_STAT_DECL)
      75              :      __attribute__((__alias__ ("ggc_internal_cleared_alloc_")));
      76              : #else
      77              : void *
      78              : ggc_internal_alloc (size_t size, void (*f)(void *), size_t, size_t
      79              :                     MEM_STAT_DECL)
      80              : {
      81              :   gcc_assert (!f); // ggc-none doesn't support finalizers
      82              :   return xmalloc (size);
      83              : }
      84              : 
      85              : void *
      86              : ggc_internal_cleared_alloc (size_t size, void (*f)(void *), size_t, size_t
      87              :                             MEM_STAT_DECL)
      88              : {
      89              :   gcc_assert (!f); // ggc-none doesn't support finalizers
      90              :   return xcalloc (size, 1);
      91              : }
      92              : 
      93              : void *
      94              : ggc_internal_alloc_no_dtor (size_t size, void (*f)(void *), size_t s,
      95              :                             size_t n MEM_STAT_DECL)
      96              : {
      97              :   return ggc_internal_alloc (size, f, s, n PASS_MEM_STAT);
      98              : }
      99              : 
     100              : void *
     101              : ggc_internal_cleared_alloc_no_dtor (size_t size, void (*f)(void *),
     102              :                                     size_t s, size_t n MEM_STAT_DECL)
     103              : {
     104              :   return ggc_internal_cleared_alloc (size, f, s, n PASS_MEM_STAT);
     105              : }
     106              : #endif
     107              : 
     108              : void *
     109            0 : ggc_realloc_stat (void *x, size_t size MEM_STAT_DECL)
     110              : {
     111            0 :   return xrealloc (x, size);
     112              : }
     113              : 
     114              : void
     115            0 : ggc_free (void *p)
     116              : {
     117            0 :   free (p);
     118            0 : }
     119              : 
     120              : void
     121            0 : ggc_grow (void)
     122              : {
     123            0 : }
     124              : 
     125              : void
     126            0 : ggc_trim (void)
     127              : {
     128            0 : }
        

Generated by: LCOV version 2.4-beta

LCOV profile is generated on x86_64 machine using following configure options: configure --disable-bootstrap --enable-coverage=opt --enable-languages=c,c++,fortran,go,jit,lto,rust,m2 --enable-host-shared. GCC test suite is run with the built compiler.