我已经将SQLite聚合源代码编译到我的iOS项目中,但clang
在这一行上发出了警告
mask = (sizeof(long)==8) ? LARGEST_INT64 : 0x7fffffff;
带有以下警告:
Implicit conversion from 'long long' to 'long' changes value from
9223372036854775807 to -1
[warn_impcast_integer_precision_constant]
我已经启用了-fdiagnostics-show-name
以显示名称 (warn_impcast_integer_precision_constant
)。
我肯定不想更改SQLite源代码,因为我不想引入意外的副作用,所以我想仅针对那一行禁用此特定警告。 警告确实有效,但无论如何使用sizeof
检查都不会发生。
为了使其他警告和诊断过程可重复,是否有一种方法可以找到特定的警告类并将其在一行中禁用?不幸的是,我在所谓的clang/llvm
“文档”中找不到任何内容。
constant-conversion
?Xcode除了警告文本以外没有显示给我任何东西。 - user187676查看>导航器>显示日志导航器
来查看实际的构建输出。选择需要更多信息的警告或错误,并单击该行右侧的“行”图标以查看输出(包括类似于warning: something something [-Wreason-why]
的内容)。 - jemmons#pragma clang diagnostic push
和#pragma clang diagnostic pop
进行包装。 - jemmons