views:

860

answers:

4

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++)

A: 

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.

Timo Geusch
It is STLport that I'm using.
Andrew
+1  A: 

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).

A: 

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.sun.com/app/docs/doc/820-7599/bkapa?a=view for more info.

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

tpgould
A: 

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

Nazgob

related questions