【问题标题】:GCC misleading indentation warning is disabled from this point onwards?从此时起禁用 GCC 误导性缩进警告?
【发布时间】:2023-03-03 06:02:19
【问题描述】:

在编译相当大的C++ project 时,我收到以下消息:

注意:-Wmisleading-indentation 从此时起被禁用,因为列跟踪由于代码/标题的大小而被禁用

所以,有几个问题:

  • 禁用此警告有多严重?
  • 是什么原因导致此功能被禁用?只是代码太大?
  • 有没有办法优化/修复代码以防止其被禁用?
  • 有没有办法重新启用它,不管代码/标头的大小如何?
  • 有没有办法使有关警告被禁用的注释静音?

【问题讨论】:

    标签: c++ gcc gcc-warning


    【解决方案1】:

    禁用此警告有多糟糕?

    它的影响为零,除了明显的是,您不会因为从警告出现的点开始误导性缩进的代码收到警告。

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

    This GCC bug

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

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

    有没有 尽管代码/标头的大小如何重新启用它?

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

    有没有 如何使有关警告被禁用的注释静音?

    我暂时添加-Wno-misleading-indentation。如果你安装了一个编译器,你也可以使用不同的编译器。

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

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

    【讨论】:

    • 看起来他们并没有试图修复它。
    • @DanM。它没有关闭,他们调整了目标里程碑@ 2020-03-04,所以看起来他们没有放弃:-)
    • 然而 Jakub Jelinek 并不认为这是一个错误。
    • @DanM。确实,但它仍然是开放的,没有被拒绝。
    猜你喜欢
    • 2010-11-29
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 2010-11-07
    • 1970-01-01
    相关资源
    最近更新 更多