llvm-clang

    0热度

    1回答

    窗口的命令行限制为〜7000个字符。由于包含非常多的内容,我的项目的clang命令约为130,000。有没有什么方法可以告诉我的项目包括从单独的文件铿锵声?

    0热度

    1回答

    我正在编写LLVM IR代码,我可以在另一个.ll文件中调用函数吗? 例如: 在a.ll文件中,有一个函数foo(); 我可以在b.ll中使用这个函数,就像调用foo一样吗?如果是这样,我怎么能包括a.ll 感谢

    0热度

    1回答

    你好,我已经实现了一个工作得很好的AST访问者,它可以在控制台中打印我想从AST获得的信息,如变量声明,函数声明和函数调用。今天,当我在试验时,我遇到了一个不被识别为函数调用的函数调用。语法与函数调用相同。下面是代码: void TIFFError(const char* module, const char* fmt, ...) { va_list ap; va_star

    1热度

    1回答

    我开发了一个使用Clang libtooling的AST访问器,我想区分函数原型和函数声明。我的AST访问者将这两种情况作为函数声明。下面你可以看到我的代码访问函数声明: bool VisitFunctionDecl(FunctionDecl *func) { if(astContext->getSourceManager().isInMainFile(func->getLo

    1热度

    1回答

    我正在尝试使用RecursiveASTVisitor去一次去使用多个文件的AST,并发现这种方法buildASTs从ClangTool,据说这是Create an AST for each file specified in the command line and append them to ASTs。 但是,我无法找到使用示例或指南。 任何人都有将多个来源的AST结合使用的经验? 我现在所做

    0热度

    1回答

    我需要遍历匹配的AST节点的所有祖先或后代,以便稍后使用该信息使输入源代码的某些部分变得轻松。 我试图寻找方法来做到这一点。我查看了ASTContext类的getParents成员函数。我可以使用它来升级AST层次结构来访问我当前匹配节点的所有祖先节点。但问题是,当我得到父节点时,我不再有该节点的上下文来尝试获取它的父节点。我可以尝试为新节点重建ASTContext,但如果可能的话,这似乎是另一项

    0热度

    1回答

    我在调查VSng的Clang代码库,并且.sln文件由CMake生成。 我已经将解决​​方案配置为Debug/x64,我可以看到生成的.pdb伴随这些库的文件,但我无法打破链接到clang可执行文件的lib代码。 例如,我在解析期间控制流必须经过的clangParse模块中设置了一些断点,但在打印AST之后,调试器没有停在clangParse模块的断点上,而是仅在在叮当声模块本身设置的断点。 对于

    2热度

    1回答

    我想确定在ASTvisitor中的变量声明是否是数组,如果是数组,我想确定数组的维数。下面你可以找到我的代码。 bool VisitVarDecl(VarDecl *var) { if (astContext->getSourceManager().isInMainFile(var->getLocStart())) //checks if the node is in the

    0热度

    1回答

    我创建了一个if(isa<IfStmt>(s))和if(isa<ReturnStmt>(s)),它会打印出一些内容。我创建了包含内部的if语句 #include <stdlib.h> int main(int argc, char** argv) { int a = atoi(argv[1]); if(a == 0) return 1; else

    0热度

    1回答

    目前我已经在我开发它的机器上安装了clang-llvm测试过我的工具。我所要做的就是进入build/bin来运行我的工具。 但是,我现在想尝试在另一台机器上运行此工具。 我应该在这里做些什么来运行我开发的工具? 我是否也必须设置整个clang-llvm环境?这是非常耗费时间和整个文件夹的大小约为22+ GB .. 我创建运行RecursiveASTVisitor工具(相同的环境下面的链接) htt