21#ifndef GCC_DIAGNOSTICS_LOGGING_H
22#define GCC_DIAGNOSTICS_LOGGING_H
44 __attribute__ ((__format__ (printf, 2, 3)));
99 fprintf (
m_logger->get_stream (),
"%s (", name);
106 fprintf (
m_logger->get_stream (),
")");
117 fprintf (
m_logger->get_stream (),
"%s: \"%s\"", name, value);
130 name, (
size_t)value);
143 name,
const_cast<void *
> ((
const void *)richloc));
154 fprintf (
m_logger->get_stream (),
"%s: %i", name, value.m_idx);
165 fprintf (
m_logger->get_stream (),
"%s: %s",
186 const char *singular_gmsgid,
187 const char *plural_gmsgid)
202 fprintf (
m_logger->get_stream (),
", ");
215#define DIAGNOSTICS_LOG_SCOPE_PRINTF0(LOGGER, FMT) \
217 (LOGGER)->log_printf ((FMT)); \
218 diagnostics::logging::auto_inc_depth depth_sentinel (LOGGER);
220#define DIAGNOSTICS_LOG_SCOPE_PRINTF1(LOGGER, FMT, ARG0) \
222 (LOGGER)->log_printf ((FMT), (ARG0)); \
223 diagnostics::logging::auto_inc_depth depth_sentinel (LOGGER);
225#define DIAGNOSTICS_LOG_SCOPE_PRINTF2(LOGGER, FMT, ARG0, ARG1) \
227 (LOGGER)->log_printf ((FMT), (ARG0), (ARG1)); \
228 diagnostics::logging::auto_inc_depth depth_sentinel (LOGGER);
~auto_inc_depth()
Definition logging.h:77
auto_inc_depth(logger *log)
Definition logging.h:71
logger * m_logger
Definition logging.h:84
bool m_first_param
Definition logging.h:206
log_function_params & log_param_rich_location(const char *name, const rich_location *richloc)
Definition logging.h:136
void add_any_comma()
Definition logging.h:196
log_function_params & log_params_n_gmsgids(unsigned HOST_WIDE_INT n, const char *singular_gmsgid, const char *plural_gmsgid)
Definition logging.h:185
log_function_params & log_param_uhwi(const char *name, unsigned HOST_WIDE_INT value)
Definition logging.h:172
log_function_params & log_param_location_t(const char *name, location_t value)
Definition logging.h:123
log_function_params & log_param_string(const char *name, const char *value)
Definition logging.h:112
log_function_params & log_param_option_id(const char *name, diagnostics::option_id value)
Definition logging.h:149
logger * m_logger
Definition logging.h:205
~log_function_params()
Definition logging.h:102
log_function_params(logger *logger_, const char *name)
Definition logging.h:92
log_function_params & log_param_kind(const char *name, enum diagnostics::kind value)
Definition logging.h:160
int m_log_depth
Definition logging.h:63
logger(output_file outfile)
Definition logging.cc:30
output_file m_outfile
Definition logging.h:62
void emit_indent() const
Definition logging.cc:60
FILE * get_stream() const
Definition logging.h:51
void dec_depth()
Definition logging.h:59
void log_printf(const char *fmt,...) __attribute__((__format__(printf
Definition logging.cc:37
void void log_bool_return(const char *function_name, bool retval)
Definition logging.cc:50
int get_indent() const
Definition logging.h:56
void emit_newline() const
Definition logging.cc:66
void inc_depth()
Definition logging.h:58
Definition output-file.h:32
const char * function_name(const function *fn)
Definition function.cc:6438
#define HOST_SIZE_T_PRINT_HEX
Definition hwint.h:136
#define HOST_WIDE_INT_PRINT_DEC
Definition hwint.h:110
Definition coretypes.h:167
kind
Definition kinds.h:27
const char * get_debug_string_for_kind(enum kind kind)
Definition diagnostics/context.cc:716
Definition option-id.h:32
#define gcc_assert(EXPR)
Definition system.h:814
#define true
Definition system.h:887