Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-11695

Exclude some useless warnings from the Clang Tidy build

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • Impala 4.2.0
    • Impala 4.2.0
    • Infrastructure
    • 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.

       

       

      Attachments

        Activity

          People

            joemcdonnell Joe McDonnell
            joemcdonnell Joe McDonnell
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: