GCC Middle and Back End API Reference
|
#include <paths.h>
Public Member Functions | |
virtual | ~path () |
virtual unsigned | num_events () const =0 |
virtual const event & | get_event (int idx) const =0 |
virtual unsigned | num_threads () const =0 |
virtual const thread & | get_thread (thread_id_t) const =0 |
virtual bool | same_function_p (int event_idx_a, int event_idx_b) const =0 |
bool | interprocedural_p () const |
bool | multithreaded_p () const |
const logical_locations::manager & | get_logical_location_manager () const |
Protected Member Functions | |
path (const logical_locations::manager &logical_loc_mgr) |
Private Member Functions | |
bool | get_first_event_in_a_function (unsigned *out_idx) const |
Private Attributes | |
const logical_locations::manager & | m_logical_loc_mgr |
Abstract base class for getting at a sequence of events.
|
inlinevirtual |
|
inlineprotected |
|
pure virtual |
Implemented in ana::checker_path, diagnostic_execution_path, diagnostics::paths::lazy_path, and simple_diagnostic_path.
Referenced by get_first_event_in_a_function(), interprocedural_p(), and diagnostics::text_sink::print_path().
|
private |
class diagnostics::paths::path.
Subroutine of path::interprocedural_p. Look for the first event in this path that is within a function i.e. has a non-null logical location for which function_p is true. If found, write its index to *OUT_IDX and return true. Otherwise return false.
References get_event(), diagnostics::paths::event::get_logical_location(), i, m_logical_loc_mgr, and num_events().
Referenced by interprocedural_p().
|
inline |
References m_logical_loc_mgr.
Referenced by diagnostics::text_sink::print_path().
|
pure virtual |
Implemented in ana::checker_path, diagnostic_execution_path, diagnostics::paths::lazy_path, and simple_diagnostic_path.
bool 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 get_event(), get_first_event_in_a_function(), diagnostics::paths::event::get_stack_depth(), i, num_events(), and same_function_p().
bool diagnostics::paths::path::multithreaded_p | ( | ) | const |
|
pure virtual |
Implemented in ana::checker_path, diagnostic_execution_path, diagnostics::paths::lazy_path, and simple_diagnostic_path.
Referenced by get_first_event_in_a_function(), interprocedural_p(), and diagnostics::text_sink::print_path().
|
pure virtual |
Implemented in ana::checker_path, diagnostic_execution_path, diagnostics::paths::lazy_path, and simple_diagnostic_path.
|
pure virtual |
Implemented in ana::checker_path, diagnostic_execution_path, diagnostics::paths::lazy_path, and simple_diagnostic_path.
Referenced by interprocedural_p().
|
private |
Referenced by get_first_event_in_a_function(), get_logical_location_manager(), and path().