我在cpp上添加了一些新功能,我想根据不同的选项编写一个编译器传递来修改一些cpp源代码。(我使用了一些gcc功能(cilk),所以我认为它不能由libclang完成, clang不能识别cilk)。 gcc中有没有api可以做这样的事情?
答案 0 :(得分:1)
当前的GCC插件API不允许您扩展预处理器。但是,您可以添加内置函数,编译指示以及函数或变量属性。
您可以使用save_decoded_options
中的save_decoded_options_count
和toplev.h
来获取编译器程序参数。但是插件期待-fplugin-foo-arg-
程序参数(对于插件foo
...)
为什么需要这些?
您是否考虑使用MELT扩展GCC(扩展GCC的域名特定语言)?