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/diagnostic.c | |
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/diagnostic.c')
-rw-r--r-- | gcc/diagnostic.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/diagnostic.c b/gcc/diagnostic.c index 8d012491577..c0648cd53b2 100644 --- a/gcc/diagnostic.c +++ b/gcc/diagnostic.c @@ -40,6 +40,7 @@ along with GCC; see the file COPYING3. If not see #include "langhooks.h" #include "langhooks-def.h" #include "opts.h" +#include "plugin.h" #define pedantic_warning_kind() (flag_pedantic_errors ? DK_ERROR : DK_WARNING) #define permissive_error_kind() (flag_permissive ? DK_WARNING : DK_ERROR) @@ -371,6 +372,17 @@ diagnostic_report_diagnostic (diagnostic_context *context, context->lock++; + if ((diagnostic->kind == DK_ERROR + || diagnostic->kind == DK_WARNING + || diagnostic->kind == DK_ICE) + && plugins_active_p ()) + { + fnotice (stderr, "*** WARNING *** there are active plugins, do not report" + " this as a bug unless you can reproduce it without enabling" + " any plugins.\n"); + dump_active_plugins (stderr); + } + if (diagnostic->kind == DK_ICE) { #ifndef ENABLE_CHECKING |