How to turn off a warning for one line of code.

Benjamin Scherrey scherrey@switchco.com
Sat Oct 10 01:57:00 GMT 1998


Thanx to some previous replies, I've found a way to get my debug command
to take up zero space/time when turned off. I do the following:
--- debug.hpp
#ifdef DEBUG
    #define PDBUG cout __FILE__   << ":" __LINE__ <<
    // Its actually a lot more complicated than this but you get the
idea.
#else
    #define PDBUG false && cout
    // used to be able to #define PDBUG /##/ but egcs won't let me. :-(
#endif // DEBUG

--- test.cpp
#include "debug.hpp"
PDBUG << "My error message..." << endl;

Now this code generates warnings that say:
    warning: statement with no effect
every time I used PDBUG with debugging turned off. That's a LOT of
places!

Of course, I can kill this globally with a -Wno-unused param at the
command line but I don't want to lose this warning globally, just on my
lines of code that use the PDBUG macro. I've tried to get an
__attribute__ (unused) thing going but with no success. Is there a
#pragma or something I can declare within my macro that will silence the
compiler for this one instance?

    thanx & later,

        Ben Scherrey




More information about the Gcc mailing list