> #ifdef DEBUG > #define IP_DEBUG > #endif DEBUG > #ifdef DEBUG #define IP_DEBUG #endif // DEBUG * but better; #ifdef DEBUG # ifndef IP_DEBUG # define IP_DEBUG # endif #endif Otherwise you will also get a warning for defining IP_DEBUG multiple times. This is really not a gcc question.