Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Impala 4.2.0
-
None
-
ghx-label-7
Description
Thee build we do for Clang Tidy enables all warnings:
# Turn all warnings back on. Some will be ignored via .clang-tidy's "Checks" value, but # this allows different "Checks" settings to be used in different clang-tidy runs without # recompiling. SET(CXX_FLAGS_TIDY "${CXX_FLAGS_TIDY} -Wall -W -Weverything")
This produces extremely verbose output, and some of the warnings are not useful. In particular, we have no interest in c+98 compatibility, so Wc+98-compat inflates the output dramatically for no reason.
Looking at the output of a recent build failure, the tidylog.txt was 1.6GB and contained 4.6 million warnings. Of those, 4 million were from c++98 compatability. Another 275k were from Wpadded, which is also not interesting.
$ cat tidylog.txt | grep '\[\-W' | wc -l 4657716 # Exclude Wc++98-compat $ cat tidylog.txt | grep '\[\-W' | grep -v "Wc++98-compat" | wc -l 592206 # Exclude Wc++98-compat and Wpadded $ cat tidylog.txt | grep '\[\-W' | grep -v "Wc++98-compat" | grep -v "Wpadded" | wc -l 316982
It seems like excluding these two warnings is useful to reduce the output size.
An issue we saw recently is that the JUnitXML from the build is so overwhelmed by the useless warnings that the actual error gets cut off due to size constraints for JUnitXML. This should help with that.