LLVM 编译器学习笔记之六-- 预处理

1、llvm 中使用Builder.defineMacro定义builtin宏,类似GCC的builtin_define,以下是llvm8 中定义对gcc 4.2.1版本兼容性宏__GNUC__的示例

     配套的接口还有isMacroDefined及undefineMacro

    LLVM 编译器学习笔记之六-- 预处理

2、嵌套优先级

      在Builder.defineMacro中可以定义一些符号,比如SS , 然后在头文件中可以进一步使用 #define SS 进行展开,这样可以让Builder.defineMacro的定义简洁一点

     

上一篇:LLVM笔记(17) - ADT介绍(一) ilist


下一篇:LLVM程序分析日记之Assert