GCC Middle and Back End API Reference
tree-diagnostic.cc File Reference
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tree.h"
#include "diagnostic.h"
#include "tree-pretty-print.h"
#include "gimple-pretty-print.h"
#include "tree-diagnostic.h"
#include "diagnostic-client-data-hooks.h"
#include "langhooks.h"
#include "intl.h"
#include "diagnostic-format-text.h"
Include dependency graph for tree-diagnostic.cc:

Functions

void diagnostic_report_current_function (diagnostic_text_output_format &text_output, const diagnostic_info *diagnostic)
 
static void default_tree_diagnostic_text_starter (diagnostic_text_output_format &text_output, const diagnostic_info *diagnostic)
 
bool default_tree_printer (pretty_printer *pp, text_info *text, const char *spec, int precision, bool wide, bool set_locus, bool hash, bool *, pp_token_list &)
 
static void set_inlining_locations (diagnostic_context *, diagnostic_info *diagnostic)
 
void tree_diagnostics_defaults (diagnostic_context *context)
 

Function Documentation

◆ default_tree_diagnostic_text_starter()

◆ default_tree_printer()

◆ diagnostic_report_current_function()

void diagnostic_report_current_function ( diagnostic_text_output_format & text_output,
const diagnostic_info * diagnostic )
Language-independent diagnostic subroutines for the GNU Compiler
   Collection that are only for use in the compilers proper and not
   the driver or other programs.
   Copyright (C) 1999-2025 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 3, or (at your option) any later
version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.   
Prints out, if necessary, the name of the current function
that caused an error.   

References diagnostic_location(), LOCATION_FILE, lang_hooks::print_error_function, and diagnostic_text_output_format::report_current_module().

Referenced by default_tree_diagnostic_text_starter().

◆ set_inlining_locations()

static void set_inlining_locations ( diagnostic_context * ,
diagnostic_info * diagnostic )
static
Set the locations of call sites along the inlining stack corresponding
to the DIAGNOSTIC location.   

References BLOCK_ABSTRACT_ORIGIN, BLOCK_SOURCE_LOCATION, BLOCK_SUPERCONTEXT, diagnostic_location(), expansion_point_location_if_in_system_header(), in_system_header_at(), LOCATION_BLOCK, pp_ti_abstract_origin, and TREE_CODE.

Referenced by tree_diagnostics_defaults().

◆ tree_diagnostics_defaults()