LCOV - code coverage report
Current view: top level - gcc - tree-diagnostic.h (source / functions) Coverage Total Hit
Test: gcc.info Lines: 0.0 % 11 0
Test Date: 2026-02-28 14:20:25 Functions: 0.0 % 3 0
Legend: Lines:     hit not hit

            Line data    Source code
       1              : /* Various declarations for language-independent diagnostics
       2              :    subroutines that are only for use in the compilers proper and not
       3              :    the driver or other programs.
       4              :    Copyright (C) 2000-2026 Free Software Foundation, Inc.
       5              : 
       6              : This file is part of GCC.
       7              : 
       8              : GCC is free software; you can redistribute it and/or modify it under
       9              : the terms of the GNU General Public License as published by the Free
      10              : Software Foundation; either version 3, or (at your option) any later
      11              : version.
      12              : 
      13              : GCC is distributed in the hope that it will be useful, but WITHOUT ANY
      14              : WARRANTY; without even the implied warranty of MERCHANTABILITY or
      15              : FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
      16              : for more details.
      17              : 
      18              : You should have received a copy of the GNU General Public License
      19              : along with GCC; see the file COPYING3.  If not see
      20              : <http://www.gnu.org/licenses/>.  */
      21              : 
      22              : #ifndef GCC_TREE_DIAGNOSTIC_H
      23              : #define GCC_TREE_DIAGNOSTIC_H
      24              : 
      25              : /* TREE_BLOCK if the diagnostic is to be reported in some inline
      26              :    function inlined into other function, otherwise NULL.  */
      27              : #define diagnostic_abstract_origin(DI)          \
      28              :   ((tree) diagnostic_info_auxiliary_data (DI))
      29              : 
      30              : /* Function of last diagnostic message; more generally, function such
      31              :    that if next diagnostic message is in it then we don't have to
      32              :    mention the function name.  */
      33              : #define diagnostic_last_function(DC)                    \
      34              :   ((tree) diagnostic_context_auxiliary_data (DC))
      35              : 
      36              : /* True if the last function in which a diagnostic was reported is
      37              :    different from the current one.  */
      38              : #define diagnostic_last_function_changed(DC, DI)                        \
      39              :   (diagnostic_last_function (DC) != (diagnostic_abstract_origin (DI)    \
      40              :                                      ? diagnostic_abstract_origin (DI)  \
      41              :                                      : current_function_decl))
      42              : 
      43              : /* Remember the current function as being the last one in which we report
      44              :    a diagnostic.  */
      45              : #define diagnostic_set_last_function(DC, DI)            \
      46              :   diagnostic_context_auxiliary_data (DC)                \
      47              :     = (((DI) && diagnostic_abstract_origin (DI))        \
      48              :        ? diagnostic_abstract_origin (DI)                \
      49              :        : current_function_decl)
      50              : 
      51              : void diagnostic_report_current_function (diagnostics::context *,
      52              :                                          const diagnostics::diagnostic_info *);
      53              : 
      54              : void tree_diagnostics_defaults (diagnostics::context *);
      55              : bool default_tree_printer (pretty_printer *, text_info *, const char *,
      56              :                            int, bool, bool, bool, bool *, pp_token_list &);
      57              : 
      58              : /* A subclass of pretty_printer for writing "dump" functions.
      59              :    Wires itself up to a FILE *, and colorizes if it's stderr and
      60              :    the user requested colorization.  */
      61              : 
      62              : class tree_dump_pretty_printer : public pretty_printer
      63              : {
      64              : public:
      65            0 :   tree_dump_pretty_printer (FILE *outf)
      66            0 :   {
      67            0 :     pp_format_decoder (this) = default_tree_printer;
      68            0 :     if (outf == stderr)
      69            0 :       pp_show_color (this) = pp_show_color (global_dc->get_reference_printer ());
      70            0 :     set_output_stream (outf);
      71            0 :   }
      72            0 :   ~tree_dump_pretty_printer ()
      73            0 :   {
      74            0 :     pp_flush (this);
      75            0 :   }
      76              : };
      77              : 
      78              : #endif /* ! GCC_TREE_DIAGNOSTIC_H */
        

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.