Clang ast-dump 导致无限循环
Clang ast-dump results in infinite loop
出于某种原因,当我尝试使用 Clang 获取任何 C/C++ 代码的 ast-dump 时,我得到一个无限循环,最终导致 clang: error: linker command failed with exit code 1136
或一些类似的错误代码。
我 运行ning Windows 10 使用 Clang 版本 13.0(也尝试使用 Clang 12.0 遇到同样的问题)。我 运行 命令 clang -Xclang -ast-dump filename.c
.
我已经尝试了多个文件,但此时我只是想获得一个 hello world ast(通过 clang 编译并且 运行s 很好)。
#include <stdio.h>
int main()
{
printf("Hello, World!\n");
return 0;
}
我确定我遗漏了一些简单的东西,但我很感激任何帮助,谢谢!
如果终止就不是死循环。 :-)
转储的 AST 包含 stdio.h
,你也包含了它,所以它相当大(大约 800 行,当我尝试时)。
错误信息是因为clang编译器(cc1
)在给它传递-ast-dump
选项时没有生成目标文件,但是clang驱动程序(clang
)没有知道那个。驱动程序希望能够 link 将生成的目标文件转换为可执行文件,但它没有找到目标文件,所以它会抱怨。
使用
clang -Xclang -ast-dump -fsyntax-only filename.c
在转储 AST 后终止驱动程序。
出于某种原因,当我尝试使用 Clang 获取任何 C/C++ 代码的 ast-dump 时,我得到一个无限循环,最终导致 clang: error: linker command failed with exit code 1136
或一些类似的错误代码。
我 运行ning Windows 10 使用 Clang 版本 13.0(也尝试使用 Clang 12.0 遇到同样的问题)。我 运行 命令 clang -Xclang -ast-dump filename.c
.
我已经尝试了多个文件,但此时我只是想获得一个 hello world ast(通过 clang 编译并且 运行s 很好)。
#include <stdio.h>
int main()
{
printf("Hello, World!\n");
return 0;
}
我确定我遗漏了一些简单的东西,但我很感激任何帮助,谢谢!
如果终止就不是死循环。 :-)
转储的 AST 包含 stdio.h
,你也包含了它,所以它相当大(大约 800 行,当我尝试时)。
错误信息是因为clang编译器(cc1
)在给它传递-ast-dump
选项时没有生成目标文件,但是clang驱动程序(clang
)没有知道那个。驱动程序希望能够 link 将生成的目标文件转换为可执行文件,但它没有找到目标文件,所以它会抱怨。
使用
clang -Xclang -ast-dump -fsyntax-only filename.c
在转储 AST 后终止驱动程序。