mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-05 11:30:07 +08:00
52bf96d2f2
* errors.h (warning, error, fatal, internal_error): Mark as cold. * predict.c (maybe_hot_bb): Cold functions are never hot; hot functions are hot. (probably_cold_bb_p): Cold functions are cold. (probably_never_executed_bb_p): Cold functions are cold. (tree_bb_level_predictions): Predict calls to cold functions as not taken. (compute_function_frequency): Check hot/cold attributes. * function.h (function_frequency): Update comments. * predict.def (PRED_COLD_FUNCTION): Predict cold function. * c-common.c (handle_hot_attribute, handle_cold_attribute): New. (c_common_att): Add cold and hot. * doc/extend.texi (hot,cold attributes): Document. * ansidecl.h (ATTRIBUTE_COLD, ATTRIBUTE_HOT): New. From-SVN: r122632
47 lines
1.9 KiB
C
47 lines
1.9 KiB
C
/* Basic error reporting routines.
|
|
Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005
|
|
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 2, 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 COPYING. If not, write to the Free
|
|
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
|
|
02110-1301, USA. */
|
|
|
|
/* warning, error, and fatal. These definitions are suitable for use
|
|
in the generator programs; eventually we would like to use them in
|
|
cc1 too, but that's a longer term project.
|
|
|
|
N.B. We cannot presently use ATTRIBUTE_PRINTF with these functions,
|
|
because they can be extended with additional format specifiers which
|
|
GCC does not know about. */
|
|
|
|
#ifndef GCC_ERRORS_H
|
|
#define GCC_ERRORS_H
|
|
|
|
/* The first parameter is for compatibility with the non-generator
|
|
version of warning(). For those, you'd pass an OPT_W* value from
|
|
options.h, but in generator programs it has no effect, so it's OK
|
|
to just pass zero for calls from generator-only files. */
|
|
extern void warning (int, const char *, ...) ATTRIBUTE_PRINTF_2 ATTRIBUTE_COLD;
|
|
extern void error (const char *, ...) ATTRIBUTE_PRINTF_1 ATTRIBUTE_COLD;
|
|
extern void fatal (const char *, ...) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF_1 ATTRIBUTE_COLD;
|
|
extern void internal_error (const char *, ...) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF_1 ATTRIBUTE_COLD;
|
|
extern const char *trim_filename (const char *);
|
|
|
|
extern int have_error;
|
|
extern const char *progname;
|
|
|
|
#endif /* ! GCC_ERRORS_H */
|