GCC вводящее в заблуждение предупреждение об отступах с этого момента отключено? - PullRequest
0 голосов
/ 18 июня 2019

При компиляции довольно большого C ++ проекта , я получаю следующее сообщение:

note: -Wmisleading-indentation отключен с этого момента, так как отслеживание столбцов былоотключен из-за размера кода / заголовков

Итак, несколько вопросов:

  • Насколько плохо, что это предупреждение отключено?
  • Какие вещи заставляют это быть отключенным?Просто слишком большой код?
  • Есть ли способ оптимизировать / исправить код, чтобы предотвратить его отключение?
  • Есть ли способ повторно включить его, несмотря на размеркод / ​​заголовки?
  • Есть ли способ заставить замолчать заметку об отключении предупреждения?

1 Ответ

3 голосов
/ 18 июня 2019

Насколько плохо, что это предупреждение отключено?

Это имеет нулевой эффект, кроме очевидного, что вы не получите предупреждения для кода, ошибочно отступающего от точки, где появилось предупреждение.

Какие вещи делают это отключенным? Просто слишком большой код?

Это ошибка GCC

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

Конечно, но это потребует бесполезной работы. Дождитесь исправления в gcc.

Есть ли способ включить его, несмотря на размер кода / заголовков?

Скорее всего, он снова включится, если это возможно (при запуске с новым модулем перевода).

Есть ли способ заставить замолчать заметку об отключении предупреждения?

Я бы добавил -Wno-misleading-indentation на данный момент. Вы также можете использовать другой компилятор, если он у вас установлен.

Пример, clang 8.0.0 не выдает это предупреждение:

scons -j12 platform=x11 use_llvm=yes target=release_debug

...