
[英]How to disable a particular unknown #pragma warning? (GCC and/or clang)
[英]How to disable the warning for pragma message in Clang?
#pragma message
在Clang中实现为警告。 有没有什么方法可以仅针对此编译指示禁用警告,因此它将像MS Visual Studio一样,或者通过某种其他方式从代码中提供信息性消息? (我需要使用给定Clang的最终用户作为答案,我无法在此项目上重新编译Clang本身)
感谢您的帮助。
我知道这篇文章已有1年的历史,OP可能已经找到了他的答案,但是由于我自己正在寻找答案,所以我认为我也可以在此处提供信息。
从Clang用户手册中:
https://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-via-pragmas
编译指示可以控制可从命令行使用的任何警告。 警告可以设置为忽略,警告,错误或致命。
尝试将类设置为上述以外的其他类型:
#pragma clang diagnostic push
#pragma clang diagnostic note "-W#pragma-messages"
#pragma message "HELLO!"
#pragma clang diagnostic pop
int main(int argc, char **argv)
{
}
结果显示警告,显示相同的选项:
/tmp/test.cc:3:26: warning: pragma diagnostic expected 'error', 'warning', 'ignored', 'fatal', 'push', or 'pop' [-Wunknown-pragmas]
#pragma clang diagnostic note "-W#pragma-messages"
^
/tmp/test.cc:4:9: warning: HELLO! [-W#pragma-messages]
#pragma message "HELLO!"
^
2 warnings generated.
因此看来,从Clang 5.0开始,没有办法将消息视为信息性消息而不是警告消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.