[Libreoffice-commits] core.git: bin/find-unneeded-includes sc/IwyuFilter_sc.yaml sd/IwyuFilter_sd.yaml svtools/IwyuFilter_svtools.yaml sw/IwyuFilter_sw.yaml toolkit/IwyuFilter_toolkit.yaml vcl/IwyuFilter_vcl.yaml

Gabor Kelemen (via logerrit) logerrit at kemper.freedesktop.org
Fri Oct 4 07:09:24 UTC 2019


 bin/find-unneeded-includes      |   14 ++++++++------
 sc/IwyuFilter_sc.yaml           |    6 ------
 sd/IwyuFilter_sd.yaml           |    5 -----
 svtools/IwyuFilter_svtools.yaml |    6 ------
 sw/IwyuFilter_sw.yaml           |    7 -------
 toolkit/IwyuFilter_toolkit.yaml |    3 ---
 vcl/IwyuFilter_vcl.yaml         |    3 ---
 7 files changed, 8 insertions(+), 36 deletions(-)

New commits:
commit b3c072a4ee94c5f86723cdcc98ea08f46f981b4a
Author:     Gabor Kelemen <kelemen.gabor2 at nisz.hu>
AuthorDate: Fri Oct 4 00:03:09 2019 +0200
Commit:     Miklos Vajna <vmiklos at collabora.com>
CommitDate: Fri Oct 4 09:08:49 2019 +0200

    find-unneeded-includes: ignore extra recommendations
    
    When IWYU is used to check cxx files it also checks associated
    hxx (but for .hxx -> .h too) files too and gives addition/removal recommendations
    There is no documented way of disabling this.
    
    Currently f-u-i does not differentiate between recommendations for the
    checked file and its header and prints everything.
    Which means sometimes I need to update .hxx files or blacklist warnings
    that interestingly are not shown when the same .hxx is checked with IWYU.
    
    The worst example is ucb/source/ucp/ftp/curl.hxx where IWYU gives recommendations
    for /usr/include/x86_64-linux-gnu/curl/curl.h
    
    Remedy this with considering the full
    filename + should add these lines: / should remove these lines:
    string as beginning of interesting recommendations
    
    Also remove some now obsolete blacklist entries from yaml files
    
    Change-Id: I1d139536992e4b56c699c31a4cc6491d373c2002
    Reviewed-on: https://gerrit.libreoffice.org/80172
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <vmiklos at collabora.com>

diff --git a/bin/find-unneeded-includes b/bin/find-unneeded-includes
index c89b69fc9d2a..8ba5a7d354a6 100755
--- a/bin/find-unneeded-includes
+++ b/bin/find-unneeded-includes
@@ -147,7 +147,7 @@ def unwrapInclude(include):
     return include[1:-1]
 
 
-def processIWYUOutput(iwyuOutput, moduleRules):
+def processIWYUOutput(iwyuOutput, moduleRules, fileName):
     inAdd = False
     toAdd = []
     inRemove = False
@@ -169,15 +169,17 @@ def processIWYUOutput(iwyuOutput, moduleRules):
                 inAdd = False
                 continue
 
-        match = re.match("(.*) should add these lines:$", line)
+        shouldAdd = fileName + " should add these lines:"
+        match = re.match(shouldAdd, line)
         if match:
-            currentFileName = match.group(1)
+            currentFileName = match.group(0).split(' ')[0]
             inAdd = True
             continue
 
-        match = re.match("(.*) should remove these lines:$", line)
+        shouldRemove = fileName + " should remove these lines:"
+        match = re.match(shouldRemove, line)
         if match:
-            currentFileName = match.group(1)
+            currentFileName = match.group(0).split(' ')[0]
             inRemove = True
             continue
 
@@ -212,7 +214,7 @@ def run_tool(task_queue, failed_files):
         if not len(failed_files):
             print("[IWYU] " + invocation.split(' ')[-1])
             p = subprocess.Popen(invocation, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
-            retcode = processIWYUOutput(p.communicate()[0].decode('utf-8').splitlines(), moduleRules)
+            retcode = processIWYUOutput(p.communicate()[0].decode('utf-8').splitlines(), moduleRules, invocation.split(' ')[-1])
             if retcode == -1:
                 print("ERROR: A file is probably not self contained, check this commands output:\n" + invocation)
             elif retcode > 0:
diff --git a/sc/IwyuFilter_sc.yaml b/sc/IwyuFilter_sc.yaml
index 6708f69fec8b..2743efdd96f2 100644
--- a/sc/IwyuFilter_sc.yaml
+++ b/sc/IwyuFilter_sc.yaml
@@ -58,9 +58,6 @@ blacklist:
     sc/inc/chgviset.hxx:
     # base class has to be a complete type
     - unotools/textsearch.hxx
-    sc/inc/colcontainer.hxx:
-    # Needed to silence the check on colcontainer.cxx
-    - column.hxx
     sc/inc/column.hxx:
     # base class has to be a complete type
     - mdds/flat_segment_tree.hpp
@@ -384,9 +381,6 @@ blacklist:
     sc/source/filter/inc/formulabase.hxx:
     # Needed for typedef
     - com/sun/star/table/CellAddress.hpp
-    sc/source/filter/inc/fprogressbar.hxx:
-    # Avoid collision with fprogressbar.cxx checking
-    - progress.hxx
     sc/source/filter/inc/ooxformulaparser.hxx:
     # base class has to be a complete type
     - com/sun/star/lang/XInitialization.hpp
diff --git a/sd/IwyuFilter_sd.yaml b/sd/IwyuFilter_sd.yaml
index b5b715e0214e..d69c951a8bbd 100644
--- a/sd/IwyuFilter_sd.yaml
+++ b/sd/IwyuFilter_sd.yaml
@@ -124,8 +124,6 @@ blacklist:
     # base class has to be a complete type
     - com/sun/star/drawing/framework/XResourceFactory.hpp
     - com/sun/star/lang/XInitialization.hpp
-    # Don't stop on false positive while checking BasicViewFactory.cxx
-    - namespace vcl { class Window; }
     sd/source/ui/framework/factories/ChildWindowPane.hxx:
     # base class has to be a complete type
     - com/sun/star/lang/XEventListener.hpp
@@ -466,9 +464,6 @@ blacklist:
     sd/source/ui/func/fuhhconv.cxx:
     # Needed for direct member access
     - com/sun/star/awt/XWindow.hpp
-    sd/source/ui/inc/fupoor.hxx:
-    # Don't stop on false positive while checking fupoor.cxx
-    - namespace sd { class Window; }
     sd/source/ui/slidesorter/view/SlsInsertionIndicatorOverlay.cxx:
     # Needed for instantiation of function template specialization
     - Window.hxx
diff --git a/svtools/IwyuFilter_svtools.yaml b/svtools/IwyuFilter_svtools.yaml
index cebbeb954a74..9cc69c4f10fa 100644
--- a/svtools/IwyuFilter_svtools.yaml
+++ b/svtools/IwyuFilter_svtools.yaml
@@ -4,9 +4,3 @@ blacklist:
     svtools/source/dialogs/insdlg.cxx:
     # Needed on WIN
     - comphelper/classids.hxx
-    include/svtools/statusbarcontroller.hxx:
-    # Silence warning while checking statusbarcontroller.cxx
-    - cppuhelper/interfacecontainer.hxx
-    include/svtools/toolboxcontroller.hxx:
-    # Silence warning while checking toolboxcontroller.cxx
-    - cppuhelper/interfacecontainer.hxx
diff --git a/sw/IwyuFilter_sw.yaml b/sw/IwyuFilter_sw.yaml
index 0b80ae609177..4f9c0b3b3961 100644
--- a/sw/IwyuFilter_sw.yaml
+++ b/sw/IwyuFilter_sw.yaml
@@ -309,10 +309,6 @@ blacklist:
     - com/sun/star/util/XUpdatable.hpp
     # Needed for UnoImplPtr template
     - unobaseclass.hxx
-    include/svtools/unoevent.hxx:
-    # Don't give false positives checking sw/source/core/inc/unoevent.hxx
-    - com/sun/star/container/XNameReplace.hpp
-    - com/sun/star/lang/XServiceInfo.hpp
     sw/source/core/inc/unoflatpara.hxx:
     # Base class needs complete type
     - com/sun/star/beans/XPropertySet.hpp
@@ -440,9 +436,6 @@ blacklist:
     sw/qa/extras/ww8import/ww8import.cxx:
     # Needed for for-loop range
     - com/sun/star/graphic/XGraphic.hpp
-    include/sal/types.h:
-    # Ignore warning during checking source/filter/ww8/types.hxx
-    - sal/typesizes.h
     sw/source/filter/ww8/ww8scan.hxx:
     # OSL_BIGENDIAN is being checked
     - osl/endian.h
diff --git a/toolkit/IwyuFilter_toolkit.yaml b/toolkit/IwyuFilter_toolkit.yaml
index 4d2ab3248bec..b29efcf83049 100644
--- a/toolkit/IwyuFilter_toolkit.yaml
+++ b/toolkit/IwyuFilter_toolkit.yaml
@@ -4,9 +4,6 @@ blacklist:
     toolkit/source/awt/vclxmenu.cxx:
     # Needed for direct member access
     - vcl/window.hxx
-    include/toolkit/controls/geometrycontrolmodel.hxx:
-    # Silence warning while checking geometrycontrolmodel.cxx
-    - toolkit/controls/geometrycontrolmodel_impl.hxx
     toolkit/source/helper/servicenames.cxx:
     # Needed for extern array declarations
     - toolkit/helper/servicenames.hxx
diff --git a/vcl/IwyuFilter_vcl.yaml b/vcl/IwyuFilter_vcl.yaml
index bd85127e0f2e..e99d502e2739 100644
--- a/vcl/IwyuFilter_vcl.yaml
+++ b/vcl/IwyuFilter_vcl.yaml
@@ -44,9 +44,6 @@ blacklist:
     vcl/source/gdi/configsettings.cxx:
     # Needed for OSL_DEBUG_LEVEL > 2
     - sal/log.hxx
-    include/vcl/mtfxmldump.hxx:
-    # Silence warning about include/vcl/mtfxmldump.hxx
-    - vcl/metaactiontypes.hxx
     vcl/source/gdi/salgdilayout.cxx:
     # Needed on WIN32
     - desktop/exithelper.h


More information about the Libreoffice-commits mailing list