Go to the source code of this file.
Typedef Documentation
typedef void(* plugin_callback_func)(void *gcc_data, void *user_data) |
Function type for a plugin callback routine.
GCC_DATA - event-specific data provided by GCC
USER_DATA - plugin-specific data provided by the plugin
Function type for the plugin initialization routine. Each plugin module
should define this as an externally-visible function with name
"plugin_init."
PLUGIN_INFO - plugin invocation information.
VERSION - the plugin_gcc_version symbol of GCC.
Returns 0 if initialization finishes successfully.
Enumeration Type Documentation
Event names.
- Enumerator:
PLUGIN_EVENT_FIRST_DYNAMIC |
|
Function Documentation
const char* default_plugin_dir_name |
( |
void |
| ) |
|
Retrieve the plugin directory name, as returned by the
-fprint-file-name=plugin argument to the gcc program, which is the
-iplugindir program argument to cc1.
Retrieve the default plugin directory. The gcc driver should have passed
it as -iplugindir <dir> to the cc1 program, and it is queriable through the
-print-file-name=plugin option to gcc.
References fatal_error().
Referenced by add_new_plugin().
int get_event_last |
( |
void |
| ) |
|
Called from the plugin's initialization code. Register a single callback.
This function can be called multiple times.
PLUGIN_NAME - display name for this plugin
EVENT - which event the callback is for
CALLBACK - the callback to be called at the event
USER_DATA - plugin-provided data.
Number of event ids / names registered so far.
Return the current value of event_last, so that plugins which provide
additional functionality for events for the benefit of high-level plugins
know how many valid entries plugin_event_name holds.
References event_last.
int get_named_event_id |
( |
const char * |
name, |
|
|
enum insert_option |
insert |
|
) |
| |
Declaration for "plugin_init" function so that it doesn't need to be
duplicated in every plugin.
Referenced by try_init_one_plugin().
void register_callback |
( |
const char * |
plugin_name, |
|
|
int |
event, |
|
|
plugin_callback_func |
callback, |
|
|
void * |
user_data |
|
) |
| |
This is also called without a callback routine for the
PLUGIN_PASS_MANAGER_SETUP, PLUGIN_INFO, PLUGIN_REGISTER_GGC_ROOTS and
PLUGIN_REGISTER_GGC_CACHES pseudo-events, with a specific user_data.
Called from the plugin's initialization code. Register a single callback.
This function can be called multiple times.
PLUGIN_NAME - display name for this plugin
EVENT - which event the callback is for
CALLBACK - the callback to be called at the event
USER_DATA - plugin-provided data
References error(), event_last, callback_info::func, ggc_register_cache_tab(), ggc_register_root_tab(), callback_info::next, PLUGIN_EVENT_FIRST_DYNAMIC, plugin_event_name, callback_info::plugin_name, register_pass(), register_plugin_info(), and callback_info::user_data.
int unregister_callback |
( |
const char * |
plugin_name, |
|
|
int |
event |
|
) |
| |
Variable Documentation
const char** plugin_event_name |
int plugin_is_GPL_compatible |
In case the C++ compiler does name mangling for globals, declare
plugin_is_GPL_compatible extern "C" so that a later definition
in a plugin file will have this linkage.