繁体   English   中英

如何禁用Clang中的pragma消息警告?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM