Временно отключить предупреждение gcc при переопределении

Я пытаюсь заставить эту работу (в GCC 4.6) не лаять на меня.

#define FOO  ""
#define BAR  ""

#if ....
    #define FOO    "Foo, good sir"
#endif

#if ...
    #define BAR    "Bar, my lady"
#endif
....

#define EVERYTHING      FOO BAR ...

У меня будет много из них. Таким образом, вместо:

#if ...
    #define FOO    "Foo"
#else
    #define FOO    ""
#endif

Вы сэкономите много кода и сделаете его более читабельным. Я получаю следующее предупреждение:

предупреждение: "FOO" переопределено [включено по умолчанию]

Есть ли способ отключить это предупреждение в коде для этого конкретного раздела? Я нашел диагностические прагмы для отключения определенных предупреждений, но я не могу найти, какое предупреждение (в этом списке Параметры запроса или подавления предупреждений ) необходимо отключить здесь.

Кто-нибудь знает, как это сделать? Или другой способ избежать необходимости #else #define их всех в пустую строку?

23
задан Brian Tompsett - 汤莱恩 6 July 2016 в 19:37
поделиться