With the recent Xcode 5.1 update we're getting a bunch of new warnings in our code base -
this is apparently related to an updated version of clang that now warns about usages of the register
storage class specifier in C++11 sources as it has been deprecated with C++11:
/Users/me/Documents/Sources/boost/boost/log/attributes/attribute_set.hpp:288:9: 'register' storage class specifier is deprecated
Now we'd like to suppress the warning for code that we cannot change - like the BOOST sources in the example above.
I could find the compiler flag to turn the warning on (-Wdeprecated-register
) but is there an opposite to disable the warning from the Xcode settings..?
In general, prepending no-
to an option turns it off. So if -Wdeprecated-register
enables the warning, then -Wno-deprecated-register
should disable it.
Alternatively, on many compilers you can use pragmas (or similar) in your code, to disable warnings while including particular headers while leaving them enabled for your own code. They are compiler-specific; for Clang, it's something like
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-register"
#include "dodgy.hpp"
#pragma clang diagnostic pop
(For GCC, the pragmas are the same, only replacing clang
with GCC
. I don't know about any other compilers.)