Можно ли заставить gcc игнорировать неизвестные параметры командной строки?

У меня есть конфигурация сборки, которая имеет некоторые опции "-Wno", предназначенные для покрытия как "gcc", так и "clang". Проблема в том, что gcc не распознает некоторые специфические clang и не может скомпилироваться из-за этого.

Пример ошибки:

 error: unrecognized command line option "-Wno-self-assign"

Есть ли способ сказать gcc игнорировать параметры командной строки, которые он не распознает?

Ответ 1

Оказывается, есть предупреждение unknown-warning, что при -Werror становится ошибкой.

Это можно отключить с помощью

-Wno-error=unknown-warning

Ответ 2

Это значение по умолчанию для gcc >= 4.4, см. https://gcc.gnu.org/gcc-4.4/changes.html

До gcc 4.4 этого достичь невозможно. Вышеупомянутое предложение о -Wno-error = unknown-warning является неправильным и, возможно, является результатом неправильного чтения руководства gcc (где "unknown-warning" используется в качестве примера для предупреждения, которое gcc не распознает).