Tôi đang cố thiết lập tính năng ngăn nắp cho một dự án. Tôi muốn có thể có đầu ra sạch và khuyến khích sử dụng chế độ -fix nếu có thể. Tuy nhiên, có những trường hợp riêng lẻ cần một ngoại lệ.Cách nội tuyến để vô hiệu hóa các kiểm tra clang-gọn gàng
nhiều vì nó có thể sử dụng
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wreserved-id-macro"
// Code that is being specially exempted
#pragma clang diagnostic pop
đối với trường hợp tương đương, nơi ai muốn ở địa phương vô hiệu hóa một cảnh báo trình biên dịch, là nó có thể làm điều gì đó tương tự từ kêu vang-gọn gàng?
Tôi đã thử
#pragma clang diagnostic push
#pragma clang diagnostic ignored "readability-identifier-naming"
// Code that is being specially exempted
#pragma clang diagnostic pop
và cũng với clang
thay thế bằng clang-tidy
. Thật không may khi sử dụng clang
như mục tiêu pragma và biên soạn với kêu vang đều đặn, tôi nhận được cảnh báo biên soạn
warning: pragma diagnostic expected option name (e.g. "-Wundef") [-Wunknown-pragmas]
và
warning: unknown pragma ignored [clang-diagnostic-unknown-pragmas]
khi biên dịch nếu tôi sử dụng clang-tidy
ở vị trí của clang
. Không ảnh hưởng đến những gì clang-tidy
đầu ra chính nó khi chạy trên nguồn.
Đây là với clang
và clang-tidy
3.8 trên x86_64 Linux.
Tôi cũng biết về https://llvm.org/bugs/show_bug.cgi?id=27910, điều này có thể cho thấy điều đó là không thể, nhưng không có hoạt động nào khác ngoài hoạt động gốc bài báo cáo. –