用 clang 完成代码会给出错误的结果

问题描述 投票:0回答:0

考虑文件

foo.c

#include <stdbool.h>

int six, bo;
int main(void) {
    return six + b + sizeof(int);
}

然后

clang
可用于建议第 15 行第 19 列(
b
语句中
return
之后的部分)中可能的代码完成,如下所示:

cat foo.c | clang -fsyntax-only -Xclang -code-completion-macros -Xclang  -code-completion-at=-:5:19 -xc -

这给

PREFERRED-TYPE: int
COMPLETION: bo : [#int#]bo
COMPLETION: bool : bool

显然,唯一正确的匹配是

bo
作为预期的表达式。

clang
是否提供选项以便自动过滤掉不会导致表达式的补全?还是需要手动完成?

此外,我真的找不到任何记录

clang
选项的资源,例如
-code-completion-macros
-code-completion-at
。上面使用这些选项的命令用于 vim-clang 插件。这些是否记录在某处(希望有更多的选择)。

vim autocomplete clang vim-plugin
© www.soinside.com 2019 - 2024. All rights reserved.