LCOV - code coverage report
Current view: top level - gcc/c-family - c-dump.cc (source / functions) Coverage Total Hit
Test: gcc.info Lines: 20.5 % 39 8
Test Date: 2026-02-28 14:20:25 Functions: 50.0 % 2 1
Legend: Lines:     hit not hit

            Line data    Source code
       1              : /* Tree-dumping functionality for C-family languages.
       2              :    Copyright (C) 2002-2026 Free Software Foundation, Inc.
       3              :    Written by Mark Mitchell <mark@codesourcery.com>
       4              : 
       5              : This file is part of GCC.
       6              : 
       7              : GCC is free software; you can redistribute it and/or modify it under
       8              : the terms of the GNU General Public License as published by the Free
       9              : Software Foundation; either version 3, or (at your option) any later
      10              : version.
      11              : 
      12              : GCC is distributed in the hope that it will be useful, but WITHOUT ANY
      13              : WARRANTY; without even the implied warranty of MERCHANTABILITY or
      14              : FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
      15              : for more details.
      16              : 
      17              : You should have received a copy of the GNU General Public License
      18              : along with GCC; see the file COPYING3.  If not see
      19              : <http://www.gnu.org/licenses/>.  */
      20              : 
      21              : #include "config.h"
      22              : #include "system.h"
      23              : #include "coretypes.h"
      24              : #include "c-common.h"
      25              : #include "tree-dump.h"
      26              : 
      27              : /* Dump any C-specific tree codes and attributes of common codes.  */
      28              : 
      29              : static void
      30            0 : dump_stmt (dump_info_p di, const_tree t)
      31              : {
      32            0 :   if (EXPR_HAS_LOCATION (t))
      33            0 :     dump_int (di, "line", EXPR_LINENO (t));
      34            0 : }
      35              : 
      36              : bool
      37        43275 : c_dump_tree (void *dump_info, tree t)
      38              : {
      39        43275 :   enum tree_code code;
      40        43275 :   dump_info_p di = (dump_info_p) dump_info;
      41              : 
      42              :   /* Figure out what kind of node this is.  */
      43        43275 :   code = TREE_CODE (t);
      44              : 
      45        43275 :   switch (code)
      46              :     {
      47           60 :     case FIELD_DECL:
      48           60 :       if (DECL_C_BIT_FIELD (t))
      49            0 :         dump_string (di, "bitfield");
      50              :       break;
      51              : 
      52            0 :     case BREAK_STMT:
      53            0 :     case CONTINUE_STMT:
      54            0 :       dump_stmt (di, t);
      55            0 :       break;
      56              : 
      57            0 :     case DO_STMT:
      58            0 :       dump_stmt (di, t);
      59            0 :       dump_child ("body", DO_BODY (t));
      60            0 :       dump_child ("cond", DO_COND (t));
      61            0 :       break;
      62              : 
      63            0 :     case FOR_STMT:
      64            0 :       dump_stmt (di, t);
      65            0 :       dump_child ("init", FOR_INIT_STMT (t));
      66            0 :       dump_child ("cond", FOR_COND (t));
      67            0 :       dump_child ("expr", FOR_EXPR (t));
      68            0 :       dump_child ("body", FOR_BODY (t));
      69            0 :       break;
      70              : 
      71            0 :     case SWITCH_STMT:
      72            0 :       dump_stmt (di, t);
      73            0 :       dump_child ("cond", SWITCH_STMT_COND (t));
      74            0 :       dump_child ("body", SWITCH_STMT_BODY (t));
      75            0 :       break;
      76              : 
      77            0 :     case WHILE_STMT:
      78            0 :       dump_stmt (di, t);
      79            0 :       dump_child ("cond", WHILE_COND (t));
      80            0 :       dump_child ("body", WHILE_BODY (t));
      81            0 :       break;
      82              : 
      83              :     default:
      84              :       break;
      85              :     }
      86              : 
      87        43275 :   return false;
      88              : }
        

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.