Предупреждения, которые будут последовательно появляться в разных компиляторах? - PullRequest
5 голосов
/ 07 января 2012

После написания ответа на на этот вопрос , который отображает решение во время компиляции с ошибкой, я подумал, можно ли вместо этого получить предупреждение и завершить компиляцию (как на самом деле указано в вопросе),

Несмотря на то, что диагностика в целом зависит от компилятора, для некоторого кода довольно очевидно, что возникнет ошибка (например, доступ к несуществующему члену или попытка создания экземпляра объекта неполного типа).

То же самое нельзя сказать о предупреждениях, так как они, как правило, сильно различаются между компиляторами.Хотя разумно предположить, что предупреждения, инициированные с помощью GCC, также будут запускаться с помощью Clang, этого нельзя сказать о Visual C ++.

Вопрос:
Какие предупреждения, если таковые имеются, будут последовательнозапускаться на всех трех упомянутых компиляторах?

/W3 на VC ++ и -Wall на GCC & Clang.


Обратите внимание, что это не только полезнона этот вопрос, но может быть полезно для предупреждения о пользовательских сообщениях.

1 Ответ

2 голосов
/ 07 января 2012

Это должно работать на MSVC, GCC и Clang:

#pragma message("hello world")

Не очень полезно, но все еще работает.

Эти предупреждения тоже подобраны:

  • неиспользуемая переменная
  • неиспользованная этикетка
  • большие значения, например (1 << 128) </li>
...