0

我在cpp上添加了一些新特性,我想写一个编译器通行证来根据不同的选项修改一些cpp源代码。(我使用了一些gcc特性(cilk),所以我认为libclang无法做到,clang无法识别希尔克)。gcc中是否有任何api可以做这样的事情?

4

1 回答 1

1

当前的 GCC 插件 API 不允许您扩展预处理器。但是,您可以添加内置函数、编译指示以及函数或变量属性。

您可以使用save_decoded_optionsand save_decoded_options_countfromtoplev.h来获取编译器程序参数。但是插件需要-fplugin-foo-arg-程序参数(对于插件foo......)

你为什么需要这些?

您是否考虑过使用MELT(一种扩展 GCC 的领域特定语言)来扩展 GCC?

于 2013-05-03T07:02:33.210 回答