Поиск

Как лаконично написать макрос TODO?


Почему-то у gcc нет опции _Pragma(GCC message). Пробую реализовать так:

#define DO_PRAGMA(x) _Pragma (#x)
#define TODO(x) DO_PRAGMA(GCC warning #x)

В «чистовой» сборке работает, а вот в debug — нет (т.к. у меня в debug-сборке добавляется -Werror).
И как же быть? Как не забыть обо всех своих TODO’шках, чтобы во время сборки напоминания постоянно вылезали? Писать вручную
#pragma message "TODO: add very usefull feature"
лень… Да и TODO-макросы можно было бы скрывать в чистовых сборках.

UPD. Плохой все-таки из меня «гугольщик»! Стал уже писать вопрос на SO, как вылезли похожие, и среди них было как раз то, что мне нужно!
В общем, вот как:

#ifdef EBUG
#define DO_PRAGMA(x) _Pragma (#x)
#define TODO(x) DO_PRAGMA(message #x)
#else
#define TODO(x)
#endif

Плохо я гуглил о _Pragma! Оказывается, не нужно там GCC … писать.

P.S. Что-то давно я на stackexchange не заходил. «Карма» в стагнации… eddy_em.livejournal.com

Добавить комментарий