21 #undef PACKAGE_BUGREPORT
24 #undef PACKAGE_TARNAME
25 #undef PACKAGE_VERSION
27 #include "gcc-plugin.h"
28 #include "tree-pass.h"
33 using namespace mageec;
39 static struct plugin_info mageec_plugin_version =
47 static int print_plugin_info;
56 static void parse_arguments (
int argc,
struct plugin_argument *argv)
59 for (i = 0; i < argc; i++)
61 if (!strcmp (argv[i].key,
"plugininfo"))
62 print_plugin_info = 1;
63 else if (!strcmp (argv[i].key,
"dumppasses"))
65 else if (!strcmp (argv[i].key,
"nodecide"))
68 fprintf (stderr,
"MAGEEC Warning: Unknown option %s\n", argv[i].key);
79 struct plugin_gcc_version *version)
82 print_plugin_info = 0;
87 register_callback (plugin_info->base_name, PLUGIN_INFO, NULL,
88 &mageec_plugin_version);
90 parse_arguments (plugin_info->argc, plugin_info->argv);
91 if (print_plugin_info)
96 std::string compiler_version =
"GCC-";
97 compiler_version += version->basever;
101 register_callback (plugin_info->base_name, PLUGIN_START_UNIT,
103 register_callback (plugin_info->base_name, PLUGIN_FINISH_UNIT,
105 register_callback (plugin_info->base_name, PLUGIN_FINISH,
107 register_callback (plugin_info->base_name, PLUGIN_OVERRIDE_GATE,