从现在开始禁用 GCC 误导性缩进警告?

Aar*_*nke 3 c++ gcc gcc-warning

编译一个相当大的C++ 项目时,我收到以下消息:

注意:-Wmisleading-indentation 从这一点开始被禁用,因为由于代码/标题的大小而禁用了列跟踪

所以,有几个问题:

  • 禁用此警告有多糟糕?
  • 什么样的事情会导致这个被禁用?只是代码太大?
  • 有没有办法优化/修复代码以防止它被禁用?
  • 尽管代码/标头的大小,有没有办法重新启用它?
  • 有没有办法让关于警告被禁用的注释静音?

Ted*_*gmo 6

禁用此警告有多糟糕?

除了明显的您不会收到从警告出现点误导性缩进的代码警告之外,它具有零影响。

什么样的事情会导致这个被禁用?只是代码太大?

这个 GCC 错误

有没有办法优化/修复代码以防止它被禁用?

当然,但它需要浪费的工作。等待 gcc 中的错误修复。

尽管代码/标头的大小,有没有办法重新启用它?

如果可能,它很可能会重新启用自己(从新的翻译单元开始时)。

有没有办法让关于警告被禁用的注释静音?

-Wno-misleading-indentation暂时补充一下。如果安装了编译器,也可以使用不同的编译器。

例如,clang 8.0.0没有给出警告:

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