如何为llvm设置clang 工具

http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html

首先,您需要使用CMake为LLVM生成Makefiles。您需要创建一个构建目录并从中运行CMake:

 
$ mkdir your/build/directory
$ cd your/build/directory
$ cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON path/to/llvm/sources

clang提供了一个curses接口为懒人们配置CMake变量。

-DCMAKE_C_COMPILER=/path/to/clang -DCMAKE_CXX_COMPILER=/path/to/clang++ccmake

结果,新compile_commands.json文件应该出现在当前目录中。您应该将其链接到LLVM源代码树,以便Clang Tooling能够使用它:

$ ln -s $PWD/compile_commands.json path/to/llvm/source/
现在您已准备好使用make构建和测试LLVM:
$ make check-all

使用Clang工具

$ clang-check tools / clang / lib / Tooling / CompilationDatabase.cpp

例子:

$ clang-check tools / clang / tools / clang-check / ClangCheck.cpp -ast-dump -ast-dump-filter ActionFactory :: newASTConsumer
 处理:tools / clang / tools / clang-check / ClangCheck.cpp。
Dumping :: ActionFactory :: newASTConsumer:
clang :: ASTConsumer * newASTConsumer()(CompoundStmt 0x44da290 </home/alexfh/local/llvm/tools/clang/tools/clang-check/ClangCheck.cpp:64:40,line:72 :3> 
  (IfStmt 0x44d97c8 <line:65:5,line:66:45> 
    <<< NULL >>> 
      (ImplicitCastExpr 0x44d96d0 <line:65:9>'_Bool':'_ Bool'<UserDefinedConversion> 
... ... 
$ clang-check工具/ clang / tools / clang-check / ClangCheck.cpp -ast-print -ast-dump-filter ActionFactory :: newASTConsumer
 处理:
打印<anonymous namespace> :: ActionFactory :: newASTConsumer:
clang :: ASTConsumer * newASTConsumer(){ 
    if(this-> ASTList.operator _Bool())
        return clang :: CreateASTDeclNodeLister(); 
    if(this-> ASTDump.operator _Bool())
        返回clang :: CreateASTDumper(nullptr / *转储到stdout。* /,
                                      this-> ASTDumpFilter); 
    if(this-> ASTPrint.operator _Bool())
        返回clang :: CreateASTPrinter(&llvm :: outs(),this-> ASTDumpFilter); 
    return new clang :: ASTConsumer(); 
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值