【发布时间】:2021-01-16 17:21:48
【问题描述】:
clang,但不是 gcc,有一个 -Weverything 选项,似乎包含诸如 -Wpedantic 之类的东西。你可以在这里测试它:https://godbolt.org/z/qcYKd1。请参阅窗口的右上角,了解我在哪里输入了 -Weverything 作为显式编译器选项。
请注意我们收到的 -Wvla-extension 警告,因为在这种情况下我们依赖于 C++ 中的 C99 扩展,并且我们设置了 -Weverything。如果我们只使用-Wpedantic,我们会得到相同的警告,如下所示:https://godbolt.org/z/M9ahE4,表明-Weverything 实际上包含-Wpedantic。
如果我们没有设置这些标志,我们会得到没有警告:https://godbolt.org/z/j8sfsY。
尽管 -Weverything 存在并在 clang 中工作,但是,我找不到任何关于它存在的文档,无论是在 clang 手册页还是在此处的在线手册中:https://clang.llvm.org/docs/DiagnosticsReference.html。也许我找错地方了?我对clang的手册不是很熟悉。
那么,-Weverything 包含哪些内容以及记录在哪里?
-Wall -Werror -Weverything 之类的操作似乎合乎逻辑,但我不知道这与仅-Wall -Werror 有何不同。
【问题讨论】:
标签: c++ build clang compiler-flags