On Jan 13, 2006, at 3:11 PM, John C. Daub wrote:
I'm going through our code cleaning out deprecated functions. I know about
the GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS and the -Wno-deprecated-declarations
stuff... but those appear to only function on a whole project/target or
perhaps a single-file granularity.
Is there any way to disable a warning around say a particular function or
block of code?
For instance, I'll have a C++ class that's mostly modern save a few
functions that we just have to leave using deprecated functionality. As a
result, building isn't 100% clean because we'll get the deprecated warnings.
In general we want to address such warnings so we want the setting on, but
in these few exceptional cases we know what's going on and just don't need
the compiler emitting warnings in these known exceptional cases. So, is
there a way to disable a warning on a granularity of say a function or a
block of code?
Bueller? :-)
Well, I found a solution.
I took my functions that use the deprecated OS functions and moved them into
another file. So if I had the class Foo in Foo.cpp, I moved the deprecated
functions into a Foo_deprecated.cpp file. Added the Foo_deprecated.cpp file
to the project, opened the Info window for the file, switched to the Build
tab, and added "-Wno-deprecated-declarations" as a build option for the
compilation of that file.
And that seems to work.