* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154342
138bc75d-0d04-0410-961f-
82ee72b054a4
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
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
+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
#include "tree.h"
#include "tree-pass.h"
#include "intl.h"
+#include "plugin-version.h"
int plugin_is_GPL_compatible;
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. */
#include "tree-pass.h"
#include "intl.h"
#include "gcc-plugin.h"
+#include "plugin-version.h"
int plugin_is_GPL_compatible;
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 */
#include "tree.h"
#include "tree-pass.h"
#include "intl.h"
-
+#include "plugin-version.h"
int plugin_is_GPL_compatible;
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. */