Как отключить все предупреждения в g++ на несколько строк кода

Как отключить все предупреждения на несколько строк кода. Определенные предупреждения могут быть отключены с помощью функции диагностики GCC, но есть флаг для всех предупреждений. Я пробовал таким образом, но это не работает

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-wall"
// some code
#pragma GCC diagnostic pop

2 ответа

Отсюда: http://dbp-consulting.com/tutorials/SuppressingGCCWarnings.html

Для версии 4.6 или новее вы можете сохранить состояние диагностических флагов пользователя. Вы можете вставить это вокруг строки, которая вызывает ложное предупреждение:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
    // Code that causes warning goes here
#pragma GCC diagnostic pop

Чтобы добиться желаемого поведения, вы должны использовать "-Wall" вместо "-Wdeprecated-декларации" (а не "-wall" - обратите внимание на прописную букву "W").

Я думаю, что gcc -w filename.c делает так
-w флаг игнорировать предупреждения

Другие вопросы по тегам