GCC Middle and Back End API Reference
diagnostic_path Class Referenceabstract

#include <diagnostic-path.h>

Inheritance diagram for diagnostic_path:

Public Member Functions

virtual ~diagnostic_path ()
virtual unsigned num_events () const =0
virtual const diagnostic_eventget_event (int idx) const =0
virtual unsigned num_threads () const =0
virtual const diagnostic_threadget_thread (diagnostic_thread_id_t) const =0
bool interprocedural_p () const
bool multithreaded_p () const

Private Member Functions

bool get_first_event_in_a_function (unsigned *out_idx) const

Detailed Description

Abstract base class for getting at a sequence of events.   

Constructor & Destructor Documentation

◆ ~diagnostic_path()

virtual diagnostic_path::~diagnostic_path ( )

Member Function Documentation

◆ get_event()

virtual const diagnostic_event & diagnostic_path::get_event ( int idx) const
pure virtual

◆ get_first_event_in_a_function()

bool diagnostic_path::get_first_event_in_a_function ( unsigned * out_idx) const
class diagnostic_path.   
Subroutint of diagnostic_path::interprocedural_p.
Look for the first event in this path that is within a function
i.e. has a non-NULL fndecl, and a non-zero stack depth.
If found, write its index to *OUT_IDX and return true.
Otherwise return false.   

References diagnostic_event::get_fndecl(), diagnostic_event::get_stack_depth(), ggc_alloc(), i, and NULL.

◆ get_thread()

virtual const diagnostic_thread & diagnostic_path::get_thread ( diagnostic_thread_id_t ) const
pure virtual

◆ interprocedural_p()

bool diagnostic_path::interprocedural_p ( ) const
Return true if the events in this path involve more than one
function, or false if it is purely intraprocedural.   

References diagnostic_event::get_fndecl(), diagnostic_event::get_stack_depth(), ggc_alloc(), and i.

◆ multithreaded_p()

bool diagnostic_path::multithreaded_p ( ) const

◆ num_events()

virtual unsigned diagnostic_path::num_events ( ) const
pure virtual

◆ num_threads()

virtual unsigned diagnostic_path::num_threads ( ) const
pure virtual

The documentation for this class was generated from the following files: