diff options
author | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-14 20:18:49 +0000 |
---|---|---|
committer | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-14 20:18:49 +0000 |
commit | 9227b6fcb5d57341e64daf1dfd153f38df20694c (patch) | |
tree | a65b40c88b9169d2d76f8139339fd3054612f224 /gcc/plugin.h | |
parent | f3245e9d4b1285241a39f85498e6f2ddfa3e3ffa (diff) | |
download | gcc-9227b6fcb5d57341e64daf1dfd153f38df20694c.tar.gz |
2009-04-14 Diego Novillo <dnovillo@google.com>
Le-Chun Wu <lcwu@google.com>
* configure.ac: Add --enable-plugin support.
Define ENABLE_PLUGIN and PLUGINLIBS when specified.
* Makefile.in (PLUGIN_H): Define.
Export ENABLE_PLUGIN and GMPINC to site.exp.
Add PLUGINLIBS to link command.
Add/modify dependencies for plugin.o and files including plugin.h.
(plugin.o): New.
* config.in: Regenerate.
* opts.c (common_handle_option): Handle OPT_fplugin_ and
OPT_fplugin_arg_.
2009-04-14 Le-Chun Wu <lcwu@google.com>
* tree-pass.h (register_one_dump_file): Add a prototype for
register_one_dump_file.
* toplev.c (compile_file): Call initialize_plugins.
(do_compile): Call invoke_plugin_callbacks.
(toplev_main): Call invoke_plugin_callbacks.
* common.opt: Add -fplugin= and -fplugin-arg-.
* gcc-plugin.h: New public header file for plugins to include.
* plugin.c: New source file.
* plugin.h: New internal header file.
* passes.c (register_one_dump_file): Make it external.
* c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks.
2009-04-14 Diego Novillo <dnovillo@google.com>
* doc/plugins.texi: New.
* doc/gccint.texi: Add reference to Plugins chapter.
* doc/invoke.texi: Document -fplugin and -fplugin-arg
* diagnostic.c (diagnostic_report_diagnostic): Warn about
loaded plugins, if any.
* timevar.def (TV_PLUGIN_INIT): Define.
(TV_PLUGIN_RUN): Define.
* plugin.c: Include timevar.h
(plugins_active_p): New.
(dump_active_plugins): New.
(debug_active_plugins): New.
cp/ChangeLog
2009-04-14 Le-Chun Wu <lcwu@google.com>
* Make-lang.in: Modify dependencies of files including plugin.h.
* decl.c (finish_function): Call invoke_plugin_callbacks.
* parser.c (cp_parser_type_specifier): Call invoke_plugin_callbacks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146059 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/plugin.h')
-rw-r--r-- | gcc/plugin.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/plugin.h b/gcc/plugin.h new file mode 100644 index 00000000000..40f864c446b --- /dev/null +++ b/gcc/plugin.h @@ -0,0 +1,33 @@ +/* Header file for internal GCC plugin mechanism. + Copyright (C) 2009 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3, or (at your option) +any later version. + +GCC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef PLUGIN_H +#define PLUGIN_H + +#include "gcc-plugin.h" + +extern void add_new_plugin (const char *); +extern void parse_plugin_arg_opt (const char *); +extern void invoke_plugin_callbacks (enum plugin_event, void *); +extern void initialize_plugins (void); +extern bool plugins_active_p (void); +extern void dump_active_plugins (FILE *); +extern void debug_active_plugins (void); + +#endif /* PLUGIN_H */ |