Я знаю, как отключить все неизвестные предупреждения #pragma. Ответ был дан, например, здесь: SO: Как отключить предупреждения #pragma?
Мой вопрос - есть ли способ отключить предупреждение «unknown pragma» для одной конкретной прагмы? Например, если я отключу предупреждение для #pragma ugubugu
, следующий код:
#pragma ugubugu
#pragma untiunti
int main() {return 0;}
при компиляции с любым из:
g++ pragma.cpp -Wall
clang++ pragma.cpp -Wall
должен выдать одно предупреждение:
warning: ignoring #pragma untiunti
Может быть, например, есть простое способ зарегистрировать настраиваемую директиву, которая ничего не сделает?
Было бы здорово узнать, есть ли такая опция и в Visual Studio, но это менее важно.
Спасибо!
"но почему в конечном итоге он играть с пользовательскими прагмами? "
Мой исходный код анализируется двумя компиляторами. В одном из них есть специальная #pragma
, которая неизвестна другому. Конечно, я мог бы поместить #ifdef COMPILER_IDENTIFICATION_MACRO ... #endif
вокруг каждого экземпляра #pragma
, но это было бы громоздко.