aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcc-plugin.h
diff options
context:
space:
mode:
authorRafael Avila de Espindola <espindola@google.com>2009-04-16 13:12:20 +0000
committerRafael Espindola <espindola@gcc.gnu.org>2009-04-16 13:12:20 +0000
commit44e9f0067860f38c31869181263a395ab43981d7 (patch)
tree4c2c486bde5f48e09fd4e0030c18e8c61a2c68a1 /gcc/gcc-plugin.h
parentc1c5e0faa84bd01c866f7f2930cc628a770b3c2a (diff)
downloadgcc-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.h8
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."