Как отключить конкретное неизвестное предупреждение #pragma? (GCC и / или clang)

Я знаю, как отключить все неизвестные предупреждения #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 , но это было бы громоздко.

25
задан Community 23 May 2017 в 12:25
поделиться