我一直在寻找有关编写 GCC 插件的在线资源。我目前正在使用 GCC 版本 7.3.0。我尝试编写一个简单的插件,其中包含一个将被调用的回调PLUGIN_FINISH_TYPE
。它工作得很好。
接下来,我正在尝试编写一个使用类似于此处列出的示例的“gimple pass”的插件。然而,struct gimple_opt_pass
似乎并不存在。
我试图寻找声明这个结构的头文件。我发现 tree-pass.h 有以下代码块:-
/* Description of GIMPLE pass. */
class gimple_opt_pass : public opt_pass
{
protected:
gimple_opt_pass (const pass_data& data, gcc::context *ctxt)
: opt_pass (data, ctxt)
{
}
};
- 我如何从我的插件中看到这个?我似乎无法以上面链接中描述的方式使用它。
- 使用当前的 GCC 插件 API,是否可以编写纯 C 插件(而不是必须使用 C++)。