SunStudio C++ compiler pragma to disable warnings?

半城伤御伤魂 提交于 2019-12-20 02:42:05

问题


The STLport bundled with the SunStudio11 generates alot of warnings. I beleive most compilers have a way to disable warnings from certain source files, like this:

Sun C

#pragma error_messages off

#include <header.h>
// ...

#pragma error_messages on

gcc

#pragma warning(push, 0)        

#include <header.h>
// ...

#pragma warning(pop)

How do you do this in the SunStudio C++ compiler? (btw, the sunstudio C pragmas don't work in sunstudio C++)


回答1:


In SunStudio 12, the #pragma error_messages work as documented in the C users manual.

You can see the tags with the -errtags=yes option, and use it like this:

// Disable badargtypel2w:
//     String literal converted to char* in formal argument
#pragma error_messages (off, badargtypel2w )

and then compile with CC (the C++ compiler).




回答2:


If you'd rather use a command line option than #pragmas, a simple answer is that you can use -erroff=%all on your compile line.

You can suppress specific warning messages with -erroff=%tag

You can print out the tags for the warning messages by adding -errtags to your compile line. You can then define a set of comma-separated values for -erroff that suppress just those tags.

See http://docs.oracle.com/cd/E19205-01/820-7599/bkapa/index.html for more info.

Note that Sun Studio 12 update 1 is now available, and I'm referencing the SS12u1 doc here.




回答3:


Can't help with turning the warnings off, but when I last looked at SunStudio, it shipped with two STLs - an older one for backward compatibility with earlier compiler versions and STLport. Might be worth checking if you're using STLport before trying to trying to turn off the warnings.




回答4:


add -w to your $CC or whatever var you use.



来源:https://stackoverflow.com/questions/537374/sunstudio-c-compiler-pragma-to-disable-warnings

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!