GCC Middle and Back End API Reference
errors.cc File Reference
#include "bconfig.h"
#include "system.h"
#include "errors.h"
Include dependency graph for errors.cc:

Functions

void warning (const char *format,...)
 
void error (const char *format,...)
 
void fatal (const char *format,...)
 
void internal_error (const char *format,...)
 
const char * trim_filename (const char *name)
 
void fancy_abort (const char *file, int line, const char *func)
 

Variables

const char * progname
 
int have_error = 0
 

Function Documentation

◆ error()

void error ( const char * format,
... )
Print an error message - we keep going but the output is unusable.   

References ap, fputc(), have_error, progname, and vfprintf().

◆ fancy_abort()

void fancy_abort ( const char * file,
int line,
const char * func )
"Fancy" abort.  Reports where in the compiler someone gave up.
This file is used only by build programs, so we're not as polite as
the version in diagnostic.cc.   

References internal_error(), and trim_filename().

◆ fatal()

◆ internal_error()

void internal_error ( const char * format,
... )
Similar, but say we got an internal error.   

References ap, FATAL_EXIT_CODE, fputc(), progname, and vfprintf().

Referenced by fancy_abort().

◆ trim_filename()

const char * trim_filename ( const char * name)
Given a partial pathname as input, return another pathname that
shares no directory elements with the pathname of __FILE__.  This
is used by fancy_abort() to print `Internal compiler error in expr.cc'
instead of `Internal compiler error in ../../GCC/gcc/expr.cc'.  This
version is meant to be used for the gen* programs and therefor need not
handle subdirectories.   

References this_file.

Referenced by emit_insn_modes_h(), fancy_abort(), new_adjust(), and new_mode().

◆ warning()

void warning ( const char * format,
... )
Print a warning message - output produced, but there may be problems.   

References ap, fputc(), progname, and vfprintf().

Variable Documentation

◆ have_error

◆ progname

const char* progname
Basic error reporting routines.
   Copyright (C) 1999-2024 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/>.   
warning, error, and fatal.  These definitions are suitable for use
in the generator programs; the compiler has a more elaborate suite
of diagnostic printers, found in diagnostic.cc.   
Set this to argv[0] at the beginning of main.   

Referenced by display_help(), error(), execute(), fatal(), general_init(), diagnostic_column_policy::get_location_text(), internal_error(), main(), main(), main(), main(), main(), driver::maybe_print_and_exit(), print_usage(), print_version(), read_state(), read_state_structures(), read_state_typedefs(), read_state_variables(), driver::set_progname(), usage(), warning(), write_insn_preds_c(), state_writer::write_state_structures(), state_writer::write_state_typedefs(), state_writer::write_state_variables(), write_tm_constrs_h(), write_tm_preds_h(), and diagnostic_text_output_format::~diagnostic_text_output_format().