[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
This commit is contained in:
Rafael Espindola 2009-11-19 20:22:53 +00:00
parent bf4967a1bd
commit e4d5031cc8
6 changed files with 41 additions and 4 deletions

View File

@ -1,3 +1,10 @@
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.

View File

@ -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

View File

@ -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

View File

@ -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. */

View File

@ -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 */

View File

@ -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. */