GCC Middle and Back End API Reference
diagnostics_output_spec::gcc_spec_context Struct Referenceabstract

#include <diagnostic-output-spec.h>

Inheritance diagram for diagnostics_output_spec::gcc_spec_context:
Collaboration diagram for diagnostics_output_spec::gcc_spec_context:

Public Member Functions

 gcc_spec_context (diagnostic_context &dc, line_maps *affected_location_mgr, line_maps *control_location_mgr, location_t loc, const char *option_name)
void report_error_va (const char *gmsgid, va_list *ap) const final override ATTRIBUTE_GCC_DIAG(2
void rich_location richloc (m_control_location_mgr, m_loc)
m_dc end_group ()
std::unique_ptr< diagnostic_output_formatparse_and_make_sink (const char *, diagnostic_context &dc)
void report_error (const char *gmsgid,...) const ATTRIBUTE_GCC_DIAG(2
void void report_unknown_key (const char *unparsed_arg, const std::string &key, const std::string &scheme_name, auto_vec< const char * > &known_keys) const
void report_missing_key (const char *unparsed_arg, const std::string &key, const std::string &scheme_name, const char *metavar) const
diagnostic_output_file open_output_file (label_text &&filename) const
const char * get_option_name () const
line_maps * get_affected_location_mgr () const
virtual const char * get_base_filename () const =0

Data Fields

m_dc diagnostic_impl & richloc
diagnostic_contextm_dc
line_maps * m_control_location_mgr
location_t m_loc

Protected Attributes

const char * m_option_name
line_maps * m_affected_location_mgr

Detailed Description

A subclass that implements reporting errors via a diagnostic_context.

Constructor & Destructor Documentation

◆ gcc_spec_context()

diagnostics_output_spec::gcc_spec_context::gcc_spec_context ( diagnostic_context & dc,
line_maps * affected_location_mgr,
line_maps * control_location_mgr,
location_t loc,
const char * option_name )
inline

Member Function Documentation

◆ end_group()

m_dc diagnostics_output_spec::gcc_spec_context::end_group ( )

References m_dc.

◆ get_affected_location_mgr()

line_maps * diagnostics_output_spec::context::get_affected_location_mgr ( ) const
inlineinherited

◆ get_base_filename()

virtual const char * diagnostics_output_spec::context::get_base_filename ( ) const
pure virtualinherited

◆ get_option_name()

◆ open_output_file()

diagnostic_output_file diagnostics_output_spec::context::open_output_file ( label_text && filename) const
inherited

◆ parse_and_make_sink()

std::unique_ptr< diagnostic_output_format > diagnostics_output_spec::context::parse_and_make_sink ( const char * unparsed_arg,
diagnostic_context & dc )
inherited

◆ report_error()

◆ report_error_va()

void diagnostics_output_spec::gcc_spec_context::report_error_va ( const char * gmsgid,
va_list * ap ) const
finaloverridevirtual

Implements diagnostics_output_spec::context.

References ap, and m_dc.

◆ report_missing_key()

void diagnostics_output_spec::context::report_missing_key ( const char * unparsed_arg,
const std::string & key,
const std::string & scheme_name,
const char * metavar ) const
inherited

◆ report_unknown_key()

void diagnostics_output_spec::context::report_unknown_key ( const char * unparsed_arg,
const std::string & key,
const std::string & scheme_name,
auto_vec< const char * > & known_keys ) const
inherited

◆ richloc()

void rich_location diagnostics_output_spec::gcc_spec_context::richloc ( m_control_location_mgr ,
m_loc  )

References m_control_location_mgr, and m_loc.

Field Documentation

◆ m_affected_location_mgr

line_maps* diagnostics_output_spec::context::m_affected_location_mgr
protectedinherited

◆ m_control_location_mgr

line_maps* diagnostics_output_spec::gcc_spec_context::m_control_location_mgr

Referenced by gcc_spec_context(), and richloc().

◆ m_dc

diagnostic_context& diagnostics_output_spec::gcc_spec_context::m_dc

◆ m_loc

location_t diagnostics_output_spec::gcc_spec_context::m_loc

Referenced by gcc_spec_context(), and richloc().

◆ m_option_name

const char* diagnostics_output_spec::context::m_option_name
protectedinherited

Referenced by context(), and get_option_name().

◆ richloc

m_dc diagnostic_impl& diagnostics_output_spec::gcc_spec_context::richloc

The documentation for this struct was generated from the following file: