diff options
author | Rafael Avila de Espindola <espindola@google.com> | 2009-04-16 13:12:20 +0000 |
---|---|---|
committer | Rafael Espindola <espindola@gcc.gnu.org> | 2009-04-16 13:12:20 +0000 |
commit | 44e9f0067860f38c31869181263a395ab43981d7 (patch) | |
tree | 4c2c486bde5f48e09fd4e0030c18e8c61a2c68a1 /gcc/gcc-plugin.h | |
parent | c1c5e0faa84bd01c866f7f2930cc628a770b3c2a (diff) | |
download | gcc-44e9f0067860f38c31869181263a395ab43981d7.zip gcc-44e9f0067860f38c31869181263a395ab43981d7.tar.gz gcc-44e9f0067860f38c31869181263a395ab43981d7.tar.bz2 |
gcc-plugin.h (plugin_event): Add PLUGIN_INFO.
2009-04-16 Rafael Avila de Espindola <espindola@google.com>
* gcc-plugin.h (plugin_event): Add PLUGIN_INFO.
(plugin_info): New.
* opts.c (common_handle_option): Don't call print_version.
* plugin.c (plugin_name_args): Add version.
(register_plugin_info): New.
(register_callback): Handle PLUGIN_INFO.
(try_init_one_plugin): New.
(init_one_plugin): Use try_init_one_plugin. Only free plugin_name_args
if failed to init.
(finalize_one_plugin): New.
(finalize_plugins): New.
(print_one_plugin): New.
(print_plugins_versions): New.
* plugin.h (print_plugins_versions): New.
(finalize_plugins): New.
* toplev.c (compile_file): Don't call initialize_plugins.
(print_version): Call print_plugins_versions.
(toplev_main): Call initialize_plugins. Print version if needed.
Call finalize_plugins.
From-SVN: r146187
Diffstat (limited to 'gcc/gcc-plugin.h')
-rw-r--r-- | gcc/gcc-plugin.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/gcc-plugin.h b/gcc/gcc-plugin.h index 4a45c1e..8627720 100644 --- a/gcc/gcc-plugin.h +++ b/gcc/gcc-plugin.h @@ -28,6 +28,7 @@ enum plugin_event PLUGIN_FINISH_UNIT, /* Useful for summary processing. */ PLUGIN_CXX_CP_PRE_GENERICIZE, /* Allows to see low level AST in C++ FE. */ PLUGIN_FINISH, /* Called before GCC exits. */ + PLUGIN_INFO, /* Information about the plugin */ PLUGIN_EVENT_LAST /* Dummy event used for indexing callback array. */ }; @@ -58,6 +59,13 @@ struct plugin_pass enum pass_positioning_ops pos_op; /* how to insert the new pass. */ }; +/* Additional information about the plugin. Used by --help and --version. */ + +struct plugin_info +{ + const char *version; +}; + /* Function type for the plugin initialization routine. Each plugin module should define this as an externally-visible function with name "plugin_init." |