Commit f1c3bf86 by Joern Rennecke Committed by Joern Rennecke

re PR plugins/44459 (plugin interface depends on name mangling)

	PR plugins/44459:
	* gcc-plugin.h: Encapsulate all declarations in extern "C".

From-SVN: r160448
parent 6903fcbd
2010-06-09 Joern Rennecke <joern.rennecke@embecosm.com>
PR plugins/44459:
* gcc-plugin.h: Encapsulate all declarations in extern "C".
2010-06-08 Jan Hubicka <jh@suse.cz>
* basic-block.h (single_succ_edge, single_pred_edge, ei_container,
......
......@@ -38,6 +38,12 @@ enum plugin_event
PLUGIN_EVENT_FIRST_DYNAMIC
};
/* All globals declared here have C linkage to reduce link compatibility
issues with implementation language choice and mangling. */
#ifdef __cplusplus
extern "C" {
#endif
extern const char **plugin_event_name;
struct plugin_argument
......@@ -96,16 +102,10 @@ extern bool plugin_default_version_check (struct plugin_gcc_version *,
typedef int (*plugin_init_func) (struct plugin_name_args *plugin_info,
struct plugin_gcc_version *version);
#ifdef __cplusplus
extern "C" {
#endif
/* Declaration for "plugin_init" function so that it doesn't need to be
duplicated in every plugin. */
extern int plugin_init (struct plugin_name_args *plugin_info,
struct plugin_gcc_version *version);
#ifdef __cplusplus
}
#endif
/* Function type for a plugin callback routine.
......@@ -147,4 +147,8 @@ extern int unregister_callback (const char *plugin_name, int event);
-iplugindir program argument to cc1. */
extern const char* default_plugin_dir_name (void);
#ifdef __cplusplus
}
#endif
#endif /* GCC_PLUGIN_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment