diff options
author | Rafael Espindola <espindola@gcc.gnu.org> | 2009-11-19 20:22:53 +0000 |
---|---|---|
committer | Rafael Espindola <espindola@gcc.gnu.org> | 2009-11-19 20:22:53 +0000 |
commit | e4d5031cc88db53fe3aa9759b9c9780c179b21b5 (patch) | |
tree | b395448ebbfaf7f0dd42352215cbda920c328003 /gcc | |
parent | bf4967a1bd8c61fdf111a47f6ef87e24479299df (diff) | |
download | gcc-e4d5031cc88db53fe3aa9759b9c9780c179b21b5.zip gcc-e4d5031cc88db53fe3aa9759b9c9780c179b21b5.tar.gz gcc-e4d5031cc88db53fe3aa9759b9c9780c179b21b5.tar.bz2 |
[multiple changes]
2009-11-19 Rafael Avila de Espindola <espindola@google.com>
* g++.dg/plugin/selfassign.c: Include plugin-version.h.
(plugin_init): Pass correct version to plugin_default_version_check.
* gcc.dg/plugin/ggcplug.c: Include plugin-version.h.
(plugin_init): Pass correct version to plugin_default_version_check.
* gcc.dg/plugin/selfassign.c: Include plugin-version.h.
(plugin_init): Pass correct version to plugin_default_version_check.
2009-11-19 Basile Starynkevitch <basile@starynkevitch.net>
Rafael Avila de Espindola <espindola@google.com>
* doc/plugins.texi (Plugin initialization): Added advices for
retrieving the version of GCC at plugin compilation and loading
times.
From-SVN: r154342
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/doc/plugins.texi | 19 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/plugin/selfassign.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/plugin/ggcplug.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/plugin/selfassign.c | 4 |
6 files changed, 41 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5c288a0..8f64624 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,11 @@ 2009-11-19 Basile Starynkevitch <basile@starynkevitch.net> + Rafael Avila de Espindola <espindola@google.com> + + * doc/plugins.texi (Plugin initialization): Added advices for + retrieving the version of GCC at plugin compilation and loading + times. + +2009-11-19 Basile Starynkevitch <basile@starynkevitch.net> * plugin.c (FMT_FOR_PLUGIN_EVENT): added definition. (dump_active_plugins): output to file everything. Use diff --git a/gcc/doc/plugins.texi b/gcc/doc/plugins.texi index 6639a4e..eb1008e 100644 --- a/gcc/doc/plugins.texi +++ b/gcc/doc/plugins.texi @@ -105,6 +105,25 @@ The function @code{plugin_default_version_check} takes two pointers to such structure and compare them field by field. It can be used by the plugin's @code{plugin_init} function. +The version of GCC used to compile the plugin can be found in the symbol +@code{gcc_version} defined in the header @file{plugin-version.h}. The +recommended version check to perform looks like + +@smallexample +#include "plugin-version.h" +... + +int +plugin_init (struct plugin_name_args *plugin_info, + struct plugin_gcc_version *version) +@{ + if (!plugin_default_version_check (version, &gcc_version)) + return 1; + +@} +@end smallexample + +but you can also check the individual fields if you want a less strict check. @subsection Plugin callbacks diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index bcf6d55..c96876f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2009-11-19 Rafael Avila de Espindola <espindola@google.com> + + * g++.dg/plugin/selfassign.c: Include plugin-version.h. + (plugin_init): Pass correct version to plugin_default_version_check. + * gcc.dg/plugin/ggcplug.c: Include plugin-version.h. + (plugin_init): Pass correct version to plugin_default_version_check. + * gcc.dg/plugin/selfassign.c: Include plugin-version.h. + (plugin_init): Pass correct version to plugin_default_version_check. + 2009-11-19 Jason Merrill <jason@redhat.com> PR c++/561 diff --git a/gcc/testsuite/g++.dg/plugin/selfassign.c b/gcc/testsuite/g++.dg/plugin/selfassign.c index 6dade30..8d76301 100644 --- a/gcc/testsuite/g++.dg/plugin/selfassign.c +++ b/gcc/testsuite/g++.dg/plugin/selfassign.c @@ -13,6 +13,7 @@ #include "tree.h" #include "tree-pass.h" #include "intl.h" +#include "plugin-version.h" int plugin_is_GPL_compatible; @@ -305,7 +306,7 @@ plugin_init (struct plugin_name_args *plugin_info, bool enabled = true; int i; - if (!plugin_default_version_check (version, version)) + if (!plugin_default_version_check (version, &gcc_version)) return 1; /* Self-assign detection should happen after SSA is constructed. */ diff --git a/gcc/testsuite/gcc.dg/plugin/ggcplug.c b/gcc/testsuite/gcc.dg/plugin/ggcplug.c index 49b5c95..03bd563 100644 --- a/gcc/testsuite/gcc.dg/plugin/ggcplug.c +++ b/gcc/testsuite/gcc.dg/plugin/ggcplug.c @@ -12,6 +12,7 @@ #include "tree-pass.h" #include "intl.h" #include "gcc-plugin.h" +#include "plugin-version.h" int plugin_is_GPL_compatible; @@ -43,7 +44,7 @@ plugin_init (struct plugin_name_args *plugin_info, int argc = plugin_info->argc; int i = 0; struct plugin_argument *argv = plugin_info->argv; - if (!plugin_default_version_check (version, version)) + if (!plugin_default_version_check (version, &gcc_version)) return 1; /* Process the plugin arguments. This plugin takes the following arguments: count-ggc-start count-ggc-end count-ggc-mark */ diff --git a/gcc/testsuite/gcc.dg/plugin/selfassign.c b/gcc/testsuite/gcc.dg/plugin/selfassign.c index f804222..8d76301 100644 --- a/gcc/testsuite/gcc.dg/plugin/selfassign.c +++ b/gcc/testsuite/gcc.dg/plugin/selfassign.c @@ -13,7 +13,7 @@ #include "tree.h" #include "tree-pass.h" #include "intl.h" - +#include "plugin-version.h" int plugin_is_GPL_compatible; @@ -306,7 +306,7 @@ plugin_init (struct plugin_name_args *plugin_info, bool enabled = true; int i; - if (!plugin_default_version_check (version, version)) + if (!plugin_default_version_check (version, &gcc_version)) return 1; /* Self-assign detection should happen after SSA is constructed. */ |