It looks like you're new here. If you want to get involved, click one of these buttons!
The goal would be to come up with a clang compiler orx supported option set allowing -Wextra -Wall compilation.
Follows a summary of the flags reviewed by iarwain at this point:
https://github.com/orx/orx/pull/43
Clang Orx diagnostic flags status
https://clang.llvm.org/docs/DiagnosticsReference.html
summary of first reviewed batch
-Wno-sign-compare
-Wno-unused-parameter
-Wno-c++98-compat-pedantic
- disable
+ enable
[-Wbad-function-cast]
- [-Wc11-extensions]
- [-Wc++98-compat-pedantic]
[-Wcast-align]
+ [-Wcast-qual]
[-Wcomma]
[-Wconditional-uninitialized]
[-Wconversion]
[-Wdeprecated]
[-Wdisabled-macro-expansion]
+ [-Wdocumentation]
[-Wdocumentation-deprecated-sync]
[-Wdocumentation-unknown-command]
- [-Wdouble-promotion]
[-Wextra-semi]
[-Wfloat-conversion]
- [-Wfloat-equal]
- [-Wformat-nonliteral]
[-Wglobal-constructors]
[-Wgnu-anonymous-struct]
[-Wgnu-empty-initializer]
- [-Wgnu-zero-variadic-macro-arguments]
[-Wimplicit-fallthrough]
[-Wimplicit-function-declaration]
[-Wmissing-prototypes]
[-Wmissing-variable-declarations]
[-Wnested-anon-types]
[-Wnull-pointer-arithmetic]
[-Wold-style-cast]
- [-Wpadded]
- [-Wpedantic]
- [-Wreserved-id-macro]
[-Wshadow]
[-Wshadow-field-in-constructor]
+ [-Wshorten-64-to-32]
[-Wsign-compare]
+ [-Wsign-conversion]
- [-Wstrict-prototypes]
- [-Wswitch-enum]
+ [-Wundef]
[-Wunknown-warning-option]
[-Wunused-macros]
[-Wunused-parameter]
[-Wvla]
[-Wweak-vtables]
[-Wzero-as-null-pointer-constant]
[-Wzero-length-array]
Comments
First warning batch already reviewed:
Thank you for running clang with all the warnings.
Here's a preliminary list of warnings that I think are not really relevant to our use case:
If you have a list of the defects found with the other flags, I'd be happy to have a look.
Sorry for the delay, currently dealing with people getting sick at home. I'll try to do the second pass this week.
On your side, would it be possible to post all the occurrences of the warnings we agreed to keep?
As I'm mostly working on Windows with Visual Studio, that would be quite helpful to me.
All warnings without
-Wextra -Wall
(to minimize warning set size), using clang orx prospective compiler flag set:llvm warnings - keep list.txt
Thanks for the post! However it seems this wasn't done with the most recent version as I can see some code divergence between your log and the current github version.
Do you know how old was the codebase used?
Indeed I used the 2019/09/29 build.
Once I get the final list of keeper flags I can do a final run.
isystem
does not seem to have an effect on-Weverything
on my machine at least.I use a set of
grep sed
filters to remove the noise.clang warnings - extern headers removed