Best way to handle oddball header #includes for Cppcheck Report?

Luke Benes lukebenes at hotmail.com
Wed Sep 12 16:50:03 UTC 2018


I am in the process of  teaching cppcheck about our source tree. So far I have reduced the number of warnings from ~9000 to ~100. In order for our weekly Cppcheck Report to benefit from these, I need to automate the process. Here is the command I used to list all of our include directories:

$ find . -type d \( -name "inc" -o -name "include" \) |sort > inc.txt

This cuts the warning from 9000 to 300, but there are some oddball #includes that this misses. Here is an example from 'vcl/qt5/Qt5Bitmap.cxx':

#include <Qt5Bitmap.hxx><--- Include file:  not found.

The complete path of this file is: ./vcl/inc/qt5/Qt5Bitmap.hxx
And my script already taught cppcheck about: ./vcl/inc

So I need to manually add: vcl/inc/qt5

So my question is how should this be remedied? 

A) Change the include path to follow all 99% of the other include
like this: 
#include <qt5/Qt5Bitmap.hxx>

B) Move the include file to an include folder

C) Or Keep a list of these oddballs and append them the results of my find command?

D) Write a smarter find command. Ideas?

Is there a guideline on include naming?  Many of these oddballs seem to be in folders that have been recently moved around the source tree. (vcl/inc/qt5 was just moved a few months ago)

So far, here is a list of the oddball include locations needed outside of those my find command located:

#include <Qt5Bitmap.hxx> :  vcl/inc/qt5
#include <charttest.hxx> : chart2/qa/extras
#include <gst/interfaces/xoverlay.h> : avmedia/source/gstreamer
#include <: I forget :(> : include/rtl 

-Luke








More information about the LibreOffice mailing list