GCC Middle and Back End API Reference
|
Public Member Functions | |
diagnostic_execution_path (const logical_location_manager &logical_loc_mgr) | |
diagnostic_event_id_t | add_event_va (const diagnostic_physical_location *physical_loc, const diagnostic_logical_location *logical_loc, unsigned stack_depth, std::unique_ptr< diagnostic_graph > state_graph, const char *gmsgid, va_list *args) |
diagnostic_event_id_t | add_event_via_msg_buf (const diagnostic_physical_location *physical_loc, const diagnostic_logical_location *logical_loc, unsigned stack_depth, std::unique_ptr< diagnostic_graph > state_graph, std::unique_ptr< diagnostic_message_buffer > msg_buf) |
unsigned | num_events () const final override |
const diagnostic_event & | get_event (int idx) const final override |
unsigned | num_threads () const final override |
const diagnostic_thread & | get_thread (diagnostic_thread_id_t) const final override |
bool | same_function_p (int event_idx_a, int event_idx_b) const final override |
bool | interprocedural_p () const |
bool | multithreaded_p () const |
const logical_location_manager & | get_logical_location_manager () const |
Private Member Functions | |
bool | get_first_event_in_a_function (unsigned *out_idx) const |
Private Attributes | |
libgdiagnostics_path_thread | m_thread |
std::vector< std::unique_ptr< libgdiagnostics_path_event > > | m_events |
const logical_location_manager & | m_logical_loc_mgr |
This has to be a "struct" as it is exposed in the C API.
|
inline |
References diagnostic_path::diagnostic_path(), and m_thread.
|
inline |
References m_events.
|
inline |
References m_events.
|
inlinefinaloverridevirtual |
Implements diagnostic_path.
References m_events.
|
privateinherited |
class diagnostic_path.
Subroutine of diagnostic_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(), i, m_logical_loc_mgr, and num_events().
Referenced by interprocedural_p().
|
inlineinherited |
References m_logical_loc_mgr.
|
inlinefinaloverridevirtual |
Implements diagnostic_path.
References m_thread.
|
inherited |
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(), diagnostic_event::get_stack_depth(), i, num_events(), and same_function_p().
|
inherited |
|
inlinefinaloverridevirtual |
Implements diagnostic_path.
|
inlinefinaloverridevirtual |
Implements diagnostic_path.
References final().
|
inlinefinaloverridevirtual |
Implements diagnostic_path.
References m_events.
|
private |
Referenced by add_event_va(), add_event_via_msg_buf(), get_event(), num_events(), and same_function_p().
|
privateinherited |
Referenced by diagnostic_path(), get_first_event_in_a_function(), and get_logical_location_manager().
|
private |
Referenced by diagnostic_execution_path(), and get_thread().