Отключите предупреждение: 'несоответствующий символ вкладки` в gfortran

обычно я запускаю свой код с помощью ifort, но во время реализации я предпочитаю компиляцию и тестирование с помощью gfortran поскольку я считаю, что он намного строже, чем его аналог intel.

при включении параметров компиляции, таких как -Wall, Я получаю следующее предупреждение:

Warning: Nonconforming tab character at (1)

есть ли способ заставить замолчать это конкретное предупреждение при использовании тех же параметров компиляции? Обратите внимание, что я делаю не хотите заменить вкладки пробелом письмена. Если нет способа решить эту проблему, то ответа "нет, это невозможно" будет достаточно.

3 ответов


предупреждение: приведенный ниже Ответ, который я первоначально написал, относится только к gfortran 4.х. Поведение изменилась в версии 5.x, см ответ пользователя 3024046.


что вы пробовали до сих пор? Делает -Wtabs помочь? От man gfortran:

-Wtabs

по умолчанию вкладки принимаются как пробелы, но вкладки не являются членами набора символов Fortran. Для продолжения строки, табуляции, за которым следует цифра от 1 до 9 поддерживается. -Кто-табс при обнаружении вкладки будет выдано предупреждение. Обратите внимание,- Wno-tabs активен для-pedantic,- std=f95,- std=f2003, - std=f2008 и-Wall.

и -Wall наборы -Wno-tabs.

если это не поможет, это все равно может быть так -Wall перезаписывает этот вариант. Затем вы можете попробовать вручную установить -Wall без вкладок части:

стена

включает обычно используемые параметры предупреждения, относящиеся к использованию, которые мы рекомендуем избегать и которые, как мы считаем, легко избежать. Это в настоящее время включает -Waliasing, -Wampersand, -Wconversion, -Wsurprising, -сан. узел-привязка-типа, -Wintrinsics-СТД-кто-табс-Wintrinsic-тень, -Wline-усечение, -Wtarget жизни, -Wreal-м-постоянный и -Wunused.


UPDATE: с GCC/gFortran 5xx (я заметил с 5.3.0), использование-Wtabs было "отменено", и, как говорится, "сделано более разумным".

смотрите здесь (https://gcc.gnu.org/gcc-5/changes.html)

теперь-Wtabs дает несоответствующее предупреждение, тогда как-Wno-tabs отключает предупреждение (т. е. противоположность предыдущему использованию).


самый простой способ избавиться от предупреждения в gfortran версии 4.x должен перезаписать флаг-Wno-tabs, который устанавливает флаг-Wall. Поэтому сначала включите-Wall, а затем-Wtabs

-Wall -Wtabs