首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >clang-tidy 10忽略了我的NOLINT命令

clang-tidy 10忽略了我的NOLINT命令
EN

Stack Overflow用户
提问于 2020-07-10 16:05:51
回答 1查看 297关注 0票数 3

clang-tidy v10.0.0似乎忽略了我的NOLINTNOLINTNEXTLINE指令。使用这个简单的compile_commands.json

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
{
  "directory": "/home/cmannett85/workspace/scratch/build",
  "command": "/usr/lib/ccache/g++-10 -g -Werror -Wall -Wextra -std=c++2a -o main.cpp.o -c /home/cmannett85/workspace/scratch/main.cpp",
  "file": "/home/cmannett85/workspace/scratch/main.cpp"
}
]

和这个琐碎的源文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <ranges>
#include <vector>
#include <iostream>

int main()
{
    auto v = std::vector{0, 1, 2, 3, 4};
    for (auto i : v | std::views::reverse) { // NOLINT
        std::cout << i << std::endl;
    }

    return EXIT_SUCCESS;
}

生成以下clang-tidy输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ clang-tidy -p . --quiet ./main.cpp 
2 warnings and 6 errors generated.
Error while processing /home/cmannett85/workspace/scratch/main.cpp.
/home/cmannett85/workspace/scratch/main.cpp:8:21: error: invalid operands to binary expression ('std::vector<int, std::allocator<int> >' and 'const __adaptor::_RangeAdaptorClosure<(lambda at /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/ranges:3280:9)>' (aka 'const std::ranges::views::__adaptor::_RangeAdaptorClosure<std::ranges::views::(lambda at /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/ranges:3280:9)>')) [clang-diagnostic-error]
    for (auto i : v | std::views::reverse) { // NOLINT
        ...

现在我可以原谅这个虚假的错误,因为它太新了,可能缺乏对C++20范围的支持,但是为什么clang-tidy忽略了我的NOLINT指令?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-10 18:39:26

clang-tidy程序有时会出现误报,或者以其他方式识别出有问题的区域,这些区域可能(给定您的平台)是已知的实现定义的行为,可能不一定符合标准。

您可以通过传入命令行定义(如-DCLANG_TIDY )让clang-tidy忽略这些部分,然后在代码中使用您希望clang-tidy忽略的#ifndef CLANG_TIDY ... #endif块。

这是一种实用的变通方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62838193

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文