LCOV - code coverage report
Current view: top level - scratchpad/gcc-build-gcov/gcc - gt-cp-pt.h (source / functions) Hit Total Coverage
Test: gcc.info Lines: 100 139 71.9 %
Date: 2023-07-19 08:18:47 Functions: 13 24 54.2 %

          Line data    Source code
       1             : /* Type information for cp/pt.cc.
       2             :    Copyright (C) 2004-2023 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 under
       7             : the terms of the GNU General Public License as published by the Free
       8             : Software Foundation; either version 3, or (at your option) any later
       9             : version.
      10             : 
      11             : GCC is distributed in the hope that it will be useful, but WITHOUT ANY
      12             : WARRANTY; without even the implied warranty of MERCHANTABILITY or
      13             : FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
      14             : 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 file is machine generated.  Do not edit.  */
      21             : 
      22             : void
      23    10417705 : gt_ggc_mx_tinst_level (void *x_p)
      24             : {
      25    10417705 :   struct tinst_level * x = (struct tinst_level *)x_p;
      26    10417705 :   struct tinst_level * xlimit = x;
      27    19966419 :   while (ggc_test_and_set_mark (xlimit))
      28     9548714 :    xlimit = ((*xlimit).next);
      29    19966419 :   while (x != xlimit)
      30             :     {
      31     9548714 :       gt_ggc_m_11tinst_level ((*x).next);
      32     9548714 :       gt_ggc_m_9tree_node ((*x).tldcl);
      33     9548714 :       gt_ggc_m_9tree_node ((*x).targs);
      34     9548714 :       gt_ggc_m_11bitmap_head ((*x).path);
      35     9548714 :       gt_ggc_m_11bitmap_head ((*x).visible);
      36     9548714 :       x = ((*x).next);
      37             :     }
      38    10417705 : }
      39             : 
      40             : void
      41     7052348 : gt_ggc_mx_pending_template (void *x_p)
      42             : {
      43     7052348 :   struct pending_template * x = (struct pending_template *)x_p;
      44     7052348 :   struct pending_template * xlimit = x;
      45    13978707 :   while (ggc_test_and_set_mark (xlimit))
      46     6926359 :    xlimit = ((*xlimit).next);
      47    13978707 :   while (x != xlimit)
      48             :     {
      49     6926359 :       gt_ggc_m_16pending_template ((*x).next);
      50     6926359 :       gt_ggc_m_11tinst_level ((*x).tinst);
      51     6926359 :       x = ((*x).next);
      52             :     }
      53     7052348 : }
      54             : 
      55             : void
      56      190482 : gt_ggc_mx_hash_table_spec_hasher_ (void *x_p)
      57             : {
      58      190482 :   hash_table<spec_hasher> * const x = (hash_table<spec_hasher> *)x_p;
      59      190482 :   if (ggc_test_and_set_mark (x))
      60             :     {
      61      190482 :       gt_ggc_mx (x);
      62             :     }
      63      190482 : }
      64             : 
      65             : void
      66           0 : gt_ggc_mx (struct spec_hasher& x_r ATTRIBUTE_UNUSED)
      67             : {
      68           0 :   struct spec_hasher * ATTRIBUTE_UNUSED x = &x_r;
      69           0 : }
      70             : 
      71             : void
      72       95241 : gt_ggc_mx_hash_table_ctp_hasher_ (void *x_p)
      73             : {
      74       95241 :   hash_table<ctp_hasher> * const x = (hash_table<ctp_hasher> *)x_p;
      75       95241 :   if (ggc_test_and_set_mark (x))
      76             :     {
      77       95241 :       gt_ggc_mx (x);
      78             :     }
      79       95241 : }
      80             : 
      81             : void
      82           0 : gt_ggc_mx (struct ctp_hasher& x_r ATTRIBUTE_UNUSED)
      83             : {
      84           0 :   struct ctp_hasher * ATTRIBUTE_UNUSED x = &x_r;
      85           0 : }
      86             : 
      87             : void
      88           0 : gt_ggc_mx_hash_map_tree_tree_pair_p_ (void *x_p)
      89             : {
      90           0 :   hash_map<tree,tree_pair_p> * const x = (hash_map<tree,tree_pair_p> *)x_p;
      91           0 :   if (ggc_test_and_set_mark (x))
      92             :     {
      93           0 :       gt_ggc_mx (x);
      94             :     }
      95           0 : }
      96             : 
      97             : void
      98           0 : gt_ggc_mx (struct tree_pair_s *& x)
      99             : {
     100           0 :   if (x)
     101           0 :     gt_ggc_mx_tree_pair_s ((void *) x);
     102           0 : }
     103             : 
     104             : void
     105        6175 : gt_pch_nx_tinst_level (void *x_p)
     106             : {
     107        6175 :   struct tinst_level * x = (struct tinst_level *)x_p;
     108        6175 :   struct tinst_level * xlimit = x;
     109       11770 :   while (gt_pch_note_object (xlimit, xlimit, gt_pch_p_11tinst_level))
     110        5595 :    xlimit = ((*xlimit).next);
     111       11770 :   while (x != xlimit)
     112             :     {
     113        5595 :       gt_pch_n_11tinst_level ((*x).next);
     114        5595 :       gt_pch_n_9tree_node ((*x).tldcl);
     115        5595 :       gt_pch_n_9tree_node ((*x).targs);
     116        5595 :       gt_pch_n_11bitmap_head ((*x).path);
     117        5595 :       gt_pch_n_11bitmap_head ((*x).visible);
     118        5595 :       x = ((*x).next);
     119             :     }
     120        6175 : }
     121             : 
     122             : void
     123        3867 : gt_pch_nx_pending_template (void *x_p)
     124             : {
     125        3867 :   struct pending_template * x = (struct pending_template *)x_p;
     126        3867 :   struct pending_template * xlimit = x;
     127        7612 :   while (gt_pch_note_object (xlimit, xlimit, gt_pch_p_16pending_template))
     128        3745 :    xlimit = ((*xlimit).next);
     129        7612 :   while (x != xlimit)
     130             :     {
     131        3745 :       gt_pch_n_16pending_template ((*x).next);
     132        3745 :       gt_pch_n_11tinst_level ((*x).tinst);
     133        3745 :       x = ((*x).next);
     134             :     }
     135        3867 : }
     136             : 
     137             : void
     138         136 : gt_pch_nx_hash_table_spec_hasher_ (void *x_p)
     139             : {
     140         136 :   hash_table<spec_hasher> * const x = (hash_table<spec_hasher> *)x_p;
     141         136 :   if (gt_pch_note_object (x, x, gt_pch_p_23hash_table_spec_hasher_))
     142             :     {
     143         136 :       gt_pch_nx (x);
     144             :     }
     145         136 : }
     146             : 
     147             : void
     148           0 : gt_pch_nx (struct spec_hasher& x_r ATTRIBUTE_UNUSED)
     149             : {
     150           0 :   struct spec_hasher * ATTRIBUTE_UNUSED x = &x_r;
     151           0 : }
     152             : 
     153             : void
     154          68 : gt_pch_nx_hash_table_ctp_hasher_ (void *x_p)
     155             : {
     156          68 :   hash_table<ctp_hasher> * const x = (hash_table<ctp_hasher> *)x_p;
     157          68 :   if (gt_pch_note_object (x, x, gt_pch_p_22hash_table_ctp_hasher_))
     158             :     {
     159          68 :       gt_pch_nx (x);
     160             :     }
     161          68 : }
     162             : 
     163             : void
     164           0 : gt_pch_nx (struct ctp_hasher& x_r ATTRIBUTE_UNUSED)
     165             : {
     166           0 :   struct ctp_hasher * ATTRIBUTE_UNUSED x = &x_r;
     167           0 : }
     168             : 
     169             : void
     170           0 : gt_pch_nx_hash_map_tree_tree_pair_p_ (void *x_p)
     171             : {
     172           0 :   hash_map<tree,tree_pair_p> * const x = (hash_map<tree,tree_pair_p> *)x_p;
     173           0 :   if (gt_pch_note_object (x, x, gt_pch_p_26hash_map_tree_tree_pair_p_))
     174             :     {
     175           0 :       gt_pch_nx (x);
     176             :     }
     177           0 : }
     178             : 
     179             : void
     180           0 : gt_pch_nx (struct tree_pair_s *& x)
     181             : {
     182           0 :   if (x)
     183           0 :     gt_pch_nx_tree_pair_s ((void *) x);
     184           0 : }
     185             : 
     186             : void
     187        5595 : gt_pch_p_11tinst_level (ATTRIBUTE_UNUSED void *this_obj,
     188             :         void *x_p,
     189             :         ATTRIBUTE_UNUSED gt_pointer_operator op,
     190             :         ATTRIBUTE_UNUSED void *cookie)
     191             : {
     192        5595 :   struct tinst_level * x ATTRIBUTE_UNUSED = (struct tinst_level *)x_p;
     193        5595 :   if ((void *)(x) == this_obj)
     194        5595 :     op (&((*x).next), NULL, cookie);
     195        5595 :   if ((void *)(x) == this_obj)
     196        5595 :     op (&((*x).tldcl), NULL, cookie);
     197        5595 :   if ((void *)(x) == this_obj)
     198        5595 :     op (&((*x).targs), NULL, cookie);
     199        5595 :   if ((void *)(x) == this_obj)
     200        5595 :     op (&((*x).path), NULL, cookie);
     201        5595 :   if ((void *)(x) == this_obj)
     202        5595 :     op (&((*x).visible), NULL, cookie);
     203        5595 : }
     204             : 
     205             : void
     206        3745 : gt_pch_p_16pending_template (ATTRIBUTE_UNUSED void *this_obj,
     207             :         void *x_p,
     208             :         ATTRIBUTE_UNUSED gt_pointer_operator op,
     209             :         ATTRIBUTE_UNUSED void *cookie)
     210             : {
     211        3745 :   struct pending_template * x ATTRIBUTE_UNUSED = (struct pending_template *)x_p;
     212        3745 :   if ((void *)(x) == this_obj)
     213        3745 :     op (&((*x).next), NULL, cookie);
     214        3745 :   if ((void *)(x) == this_obj)
     215        3745 :     op (&((*x).tinst), NULL, cookie);
     216        3745 : }
     217             : 
     218             : void
     219         136 : gt_pch_p_23hash_table_spec_hasher_ (ATTRIBUTE_UNUSED void *this_obj,
     220             :         void *x_p,
     221             :         ATTRIBUTE_UNUSED gt_pointer_operator op,
     222             :         ATTRIBUTE_UNUSED void *cookie)
     223             : {
     224         136 :   struct hash_table<spec_hasher> * x ATTRIBUTE_UNUSED = (struct hash_table<spec_hasher> *)x_p;
     225         136 :   if ((void *)(x) == this_obj)
     226         136 :     gt_pch_nx (&((*x)), op, cookie);
     227         136 : }
     228             : 
     229             : void
     230           0 : gt_pch_nx (struct spec_hasher* x ATTRIBUTE_UNUSED,
     231             :         ATTRIBUTE_UNUSED gt_pointer_operator op,
     232             :         ATTRIBUTE_UNUSED void *cookie)
     233             : {
     234           0 : }
     235             : 
     236             : void
     237          68 : gt_pch_p_22hash_table_ctp_hasher_ (ATTRIBUTE_UNUSED void *this_obj,
     238             :         void *x_p,
     239             :         ATTRIBUTE_UNUSED gt_pointer_operator op,
     240             :         ATTRIBUTE_UNUSED void *cookie)
     241             : {
     242          68 :   struct hash_table<ctp_hasher> * x ATTRIBUTE_UNUSED = (struct hash_table<ctp_hasher> *)x_p;
     243          68 :   if ((void *)(x) == this_obj)
     244          68 :     gt_pch_nx (&((*x)), op, cookie);
     245          68 : }
     246             : 
     247             : void
     248           0 : gt_pch_nx (struct ctp_hasher* x ATTRIBUTE_UNUSED,
     249             :         ATTRIBUTE_UNUSED gt_pointer_operator op,
     250             :         ATTRIBUTE_UNUSED void *cookie)
     251             : {
     252           0 : }
     253             : 
     254             : void
     255           0 : gt_pch_p_26hash_map_tree_tree_pair_p_ (ATTRIBUTE_UNUSED void *this_obj,
     256             :         void *x_p,
     257             :         ATTRIBUTE_UNUSED gt_pointer_operator op,
     258             :         ATTRIBUTE_UNUSED void *cookie)
     259             : {
     260           0 :   struct hash_map<tree,tree_pair_p> * x ATTRIBUTE_UNUSED = (struct hash_map<tree,tree_pair_p> *)x_p;
     261           0 :   if ((void *)(x) == this_obj)
     262           0 :     gt_pch_nx (&((*x)), op, cookie);
     263           0 : }
     264             : 
     265             : /* GC roots.  */
     266             : 
     267             : EXPORTED_CONST struct ggc_root_tab gt_ggc_r_gt_cp_pt_h[] = {
     268             :   {
     269             :     &explicit_specifier_map,
     270             :     1,
     271             :     sizeof (explicit_specifier_map),
     272             :     &gt_ggc_mx_hash_map_tree_tree_decl_tree_cache_traits_,
     273             :     &gt_pch_nx_hash_map_tree_tree_decl_tree_cache_traits_
     274             :   },
     275             :   {
     276             :     &defarg_inst,
     277             :     1,
     278             :     sizeof (defarg_inst),
     279             :     &gt_ggc_mx_hash_table_tree_vec_map_cache_hasher_,
     280             :     &gt_pch_nx_hash_table_tree_vec_map_cache_hasher_
     281             :   },
     282             :   {
     283             :     &last_error_tinst_level,
     284             :     1,
     285             :     sizeof (last_error_tinst_level),
     286             :     &gt_ggc_mx_tinst_level,
     287             :     &gt_pch_nx_tinst_level
     288             :   },
     289             :   {
     290             :     &tparm_obj_values,
     291             :     1,
     292             :     sizeof (tparm_obj_values),
     293             :     &gt_ggc_mx_hash_map_tree_tree_,
     294             :     &gt_pch_nx_hash_map_tree_tree_
     295             :   },
     296             :   {
     297             :     &ctp_table,
     298             :     1,
     299             :     sizeof (ctp_table),
     300             :     &gt_ggc_mx_hash_table_ctp_hasher_,
     301             :     &gt_pch_nx_hash_table_ctp_hasher_
     302             :   },
     303             :   {
     304             :     &canonical_template_parms,
     305             :     1,
     306             :     sizeof (canonical_template_parms),
     307             :     &gt_ggc_mx_vec_tree_va_gc_,
     308             :     &gt_pch_nx_vec_tree_va_gc_
     309             :   },
     310             :   {
     311             :     &type_specializations,
     312             :     1,
     313             :     sizeof (type_specializations),
     314             :     &gt_ggc_mx_hash_table_spec_hasher_,
     315             :     &gt_pch_nx_hash_table_spec_hasher_
     316             :   },
     317             :   {
     318             :     &decl_specializations,
     319             :     1,
     320             :     sizeof (decl_specializations),
     321             :     &gt_ggc_mx_hash_table_spec_hasher_,
     322             :     &gt_pch_nx_hash_table_spec_hasher_
     323             :   },
     324             :   {
     325             :     &saved_access_scope,
     326             :     1,
     327             :     sizeof (saved_access_scope),
     328             :     &gt_ggc_mx_vec_tree_va_gc_,
     329             :     &gt_pch_nx_vec_tree_va_gc_
     330             :   },
     331             :   {
     332             :     &current_tinst_level,
     333             :     1,
     334             :     sizeof (current_tinst_level),
     335             :     &gt_ggc_mx_tinst_level,
     336             :     &gt_pch_nx_tinst_level
     337             :   },
     338             :   {
     339             :     &last_pending_template,
     340             :     1,
     341             :     sizeof (last_pending_template),
     342             :     &gt_ggc_mx_pending_template,
     343             :     &gt_pch_nx_pending_template
     344             :   },
     345             :   {
     346             :     &pending_templates,
     347             :     1,
     348             :     sizeof (pending_templates),
     349             :     &gt_ggc_mx_pending_template,
     350             :     &gt_pch_nx_pending_template
     351             :   },
     352             :   LAST_GGC_ROOT_TAB
     353             : };
     354             : 
     355             : EXPORTED_CONST struct ggc_root_tab gt_ggc_rd_gt_cp_pt_h[] = {
     356             :   { &dguide_cache, 1, sizeof (dguide_cache), NULL, NULL },
     357             :   { &pending_template_freelist_head, 1, sizeof (pending_template_freelist_head), NULL, NULL },
     358             :   { &tinst_level_freelist_head, 1, sizeof (tinst_level_freelist_head), NULL, NULL },
     359             :   { &tree_list_freelist_head, 1, sizeof (tree_list_freelist_head), NULL, NULL },
     360             :   { &defaulted_ttp_cache, 1, sizeof (defaulted_ttp_cache), NULL, NULL },
     361             :   LAST_GGC_ROOT_TAB
     362             : };
     363             : 
     364             : void
     365       95241 : gt_clear_caches_gt_cp_pt_h ()
     366             : {
     367       95241 :   gt_cleare_cache (explicit_specifier_map);
     368       95241 :   gt_cleare_cache (defarg_inst);
     369       95241 : }
     370             : 

Generated by: LCOV version 1.16