helpcompiler/source/HelpLinker_main.cxx                  |    1 
 i18npool/inc/bullet.h                                    |    4 +++
 i18npool/inc/characterclassificationImpl.hxx             |    1 
 i18npool/inc/collatorImpl.hxx                            |    1 
 i18npool/inc/inputsequencechecker.hxx                    |    1 
 i18npool/inc/localedata.hxx                              |    1 
 i18npool/inc/wtt.h                                       |    2 +
 i18npool/source/nativenumber/data/numberchar.h           |    2 +
 i18nutil/source/utility/paper.cxx                        |    1 
 idl/IwyuFilter_idl.yaml                                  |    2 +
 idl/inc/basobj.hxx                                       |    1 
 idl/inc/bastype.hxx                                      |    2 -
 idl/inc/hash.hxx                                         |    3 --
 idl/inc/module.hxx                                       |    1 
 idl/inc/object.hxx                                       |    4 ++-
 idl/inc/slot.hxx                                         |    3 +-
 idl/inc/types.hxx                                        |    1 
 idl/source/cmptools/hash.cxx                             |    5 ---
 idl/source/objects/basobj.cxx                            |    2 -
 idl/source/objects/bastype.cxx                           |    3 --
 idl/source/objects/module.cxx                            |    2 -
 idl/source/objects/object.cxx                            |    2 -
 idl/source/objects/slot.cxx                              |    1 
 idl/source/prj/command.cxx                               |    1 
 idl/source/prj/database.cxx                              |    3 +-
 idl/source/prj/globals.cxx                               |    2 -
 idl/source/prj/parser.cxx                                |    1 
 idl/source/prj/svidl.cxx                                 |    2 -
 io/source/acceptor/acc_pipe.cxx                          |    1 
 io/source/acceptor/acc_socket.cxx                        |    1 
 io/source/connector/ctr_socket.cxx                       |    1 
 javaunohelper/source/vm.cxx                              |    1 
 jvmfwk/inc/fwkutil.hxx                                   |    1 
 jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx         |    1 
 jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx         |    2 -
 jvmfwk/source/framework.cxx                              |    2 +
 l10ntools/IwyuFilter_l10ntools.yaml                      |    9 ++++++
 l10ntools/inc/cfgmerge.hxx                               |    1 
 l10ntools/inc/common.hxx                                 |    1 
 l10ntools/inc/export.hxx                                 |   12 ---------
 l10ntools/inc/helper.hxx                                 |    5 ---
 l10ntools/inc/helpmerge.hxx                              |    6 ++--
 l10ntools/inc/lngmerge.hxx                               |    3 --
 l10ntools/inc/treemerge.hxx                              |    1 
 l10ntools/inc/xmlparse.hxx                               |    4 ---
 l10ntools/inc/xrmmerge.hxx                               |    5 +++
 l10ntools/source/cfgmerge.cxx                            |    3 --
 l10ntools/source/common.cxx                              |    2 +
 l10ntools/source/helper.cxx                              |    3 ++
 l10ntools/source/helpex.cxx                              |    1 
 l10ntools/source/helpmerge.cxx                           |    9 ------
 l10ntools/source/lngex.cxx                               |    2 +
 l10ntools/source/lngmerge.cxx                            |    4 +--
 l10ntools/source/localize.cxx                            |    1 
 l10ntools/source/po.cxx                                  |    1 
 l10ntools/source/propmerge.cxx                           |    3 +-
 l10ntools/source/treemerge.cxx                           |    2 -
 l10ntools/source/xmlparse.cxx                            |    6 +---
 l10ntools/source/xrmmerge.cxx                            |    3 --
 libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx      |    1 
 libreofficekit/qa/unit/checkapi.cxx                      |    5 +--
 libreofficekit/qa/unit/test.h                            |    2 +
 lingucomponent/IwyuFilter_lingucomponent.yaml            |   20 +++++++++++++++
 lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx    |    5 ---
 lingucomponent/source/languageguessing/guess.cxx         |    1 
 lingucomponent/source/languageguessing/guesslang.cxx     |    1 
 lingucomponent/source/languageguessing/simpleguesser.cxx |    4 ---
 lingucomponent/source/languageguessing/simpleguesser.hxx |    2 -
 lingucomponent/source/lingutil/lingutil.hxx              |    2 -
 lingucomponent/source/numbertext/numbertext.cxx          |    5 ---
 lingucomponent/source/spellcheck/spell/sspellimp.cxx     |    7 -----
 lingucomponent/source/spellcheck/spell/sspellimp.hxx     |    9 ++----
 lingucomponent/source/thesaurus/libnth/nthesimp.cxx      |    6 ----
 linguistic/IwyuFilter_linguistic.yaml                    |    3 ++
 linguistic/source/dlistimp.cxx                           |    1 
 linguistic/source/lngopt.hxx                             |    1 
 linguistic/source/lngprophelp.cxx                        |    1 
 linguistic/source/lngsvcmgr.hxx                          |    1 
 linguistic/source/misc.cxx                               |    2 -
 lotuswordpro/inc/xfilter/xfdrawobj.hxx                   |    1 
 lotuswordpro/inc/xfilter/xfglobal.hxx                    |    1 
 lotuswordpro/inc/xfilter/xfrow.hxx                       |    1 
 lotuswordpro/source/filter/lwpdoc.cxx                    |    2 -
 lotuswordpro/source/filter/lwpdrawobj.cxx                |    1 
 lotuswordpro/source/filter/lwptablelayout.hxx            |    2 -
 85 files changed, 94 insertions(+), 145 deletions(-)

New commits:
commit 67478f9d637096781c9e3df64896b1ddaccc331b
Author:     Gabor Kelemen <kelem...@ubuntu.com>
AuthorDate: Thu Jan 20 20:54:56 2022 +0100
Commit:     Thorsten Behrens <thorsten.behr...@allotropia.de>
CommitDate: Thu Jan 27 18:52:16 2022 +0100

    Recheck modules [i-l]* with IWYU
    
    See tdf#42949 for motivation
    
    Change-Id: I758bb27e93779e3df21c463714e49354748f446f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128715
    Tested-by: Jenkins
    Reviewed-by: Thorsten Behrens <thorsten.behr...@allotropia.de>

diff --git a/helpcompiler/source/HelpLinker_main.cxx 
b/helpcompiler/source/HelpLinker_main.cxx
index 75ac9f3d3ba1..70ff1f652363 100644
--- a/helpcompiler/source/HelpLinker_main.cxx
+++ b/helpcompiler/source/HelpLinker_main.cxx
@@ -21,7 +21,6 @@
 #include <HelpLinker.hxx>
 #include <sal/main.h>
 #include <iostream>
-#include <memory>
 
 SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
 {
diff --git a/i18npool/inc/bullet.h b/i18npool/inc/bullet.h
index 403d197d2c88..6f2fd5f702ae 100644
--- a/i18npool/inc/bullet.h
+++ b/i18npool/inc/bullet.h
@@ -17,6 +17,10 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#pragma once
+
+#include <sal/types.h>
+
 namespace i18npool {
 
 const sal_Unicode table_AIUFullWidth_ja_JP[] = {
diff --git a/i18npool/inc/characterclassificationImpl.hxx 
b/i18npool/inc/characterclassificationImpl.hxx
index dad22515a79e..6ae8dee6c572 100644
--- a/i18npool/inc/characterclassificationImpl.hxx
+++ b/i18npool/inc/characterclassificationImpl.hxx
@@ -21,7 +21,6 @@
 #include <com/sun/star/i18n/XCharacterClassification.hpp>
 #include <cppuhelper/implbase.hxx>
 #include <vector>
-#include <memory>
 #include <optional>
 #include <com/sun/star/lang/XServiceInfo.hpp>
 
diff --git a/i18npool/inc/collatorImpl.hxx b/i18npool/inc/collatorImpl.hxx
index 150f96bd7aa6..061333d84df9 100644
--- a/i18npool/inc/collatorImpl.hxx
+++ b/i18npool/inc/collatorImpl.hxx
@@ -25,7 +25,6 @@
 #include <com/sun/star/lang/XServiceInfo.hpp>
 
 #include <vector>
-#include <memory>
 #include <optional>
 
 namespace com::sun::star::i18n { class XLocaleData5; }
diff --git a/i18npool/inc/inputsequencechecker.hxx 
b/i18npool/inc/inputsequencechecker.hxx
index b491f6b63175..037b4f37a3a4 100644
--- a/i18npool/inc/inputsequencechecker.hxx
+++ b/i18npool/inc/inputsequencechecker.hxx
@@ -23,7 +23,6 @@
 #include <com/sun/star/i18n/XExtendedInputSequenceChecker.hpp>
 
 #include <vector>
-#include <memory>
 #include <optional>
 
 namespace com::sun::star::uno { class XComponentContext; }
diff --git a/i18npool/inc/localedata.hxx b/i18npool/inc/localedata.hxx
index 724cbba342a7..f86954791f99 100644
--- a/i18npool/inc/localedata.hxx
+++ b/i18npool/inc/localedata.hxx
@@ -31,7 +31,6 @@
 #include <rtl/ustring.hxx>
 #include <vector>
 #include <string_view>
-#include <memory>
 #include <optional>
 #include <osl/module.hxx>
 
diff --git a/i18npool/inc/wtt.h b/i18npool/inc/wtt.h
index f3e76f968434..c81afe0e1f7f 100644
--- a/i18npool/inc/wtt.h
+++ b/i18npool/inc/wtt.h
@@ -18,6 +18,8 @@
  */
 #pragma once
 
+#include <sal/types.h>
+
 namespace i18npool {
 
 /*
diff --git a/i18npool/source/nativenumber/data/numberchar.h 
b/i18npool/source/nativenumber/data/numberchar.h
index 8753d73d784d..a711e960724f 100644
--- a/i18npool/source/nativenumber/data/numberchar.h
+++ b/i18npool/source/nativenumber/data/numberchar.h
@@ -20,6 +20,8 @@
 #ifndef INCLUDED_I18NPOOL_SOURCE_NATIVENUMBER_DATA_NUMBERCHAR_H
 #define INCLUDED_I18NPOOL_SOURCE_NATIVENUMBER_DATA_NUMBERCHAR_H
 
+#include <sal/types.h>
+
 namespace i18npool {
 
 const sal_Int16 NumberChar_HalfWidth     = 0;
diff --git a/i18nutil/source/utility/paper.cxx 
b/i18nutil/source/utility/paper.cxx
index 97dbb2938c25..1976880a060d 100644
--- a/i18nutil/source/utility/paper.cxx
+++ b/i18nutil/source/utility/paper.cxx
@@ -28,7 +28,6 @@
 
 #include <i18nutil/paper.hxx>
 
-#include <cstdlib>
 #include <unotools/configmgr.hxx>
 #include <com/sun/star/lang/Locale.hpp>
 
diff --git a/idl/IwyuFilter_idl.yaml b/idl/IwyuFilter_idl.yaml
new file mode 100644
index 000000000000..ea0464ad3624
--- /dev/null
+++ b/idl/IwyuFilter_idl.yaml
@@ -0,0 +1,2 @@
+---
+assumeFilename: idl/source/objects/object.cxx
diff --git a/idl/inc/basobj.hxx b/idl/inc/basobj.hxx
index 12def9b70942..2bdd8e622e44 100644
--- a/idl/inc/basobj.hxx
+++ b/idl/inc/basobj.hxx
@@ -22,7 +22,6 @@
 
 #include <tools/ref.hxx>
 #include "bastype.hxx"
-#include <functional>
 #include <vector>
 
 class SvTokenStream;
diff --git a/idl/inc/bastype.hxx b/idl/inc/bastype.hxx
index 1c0d93765e2e..7494b35a8813 100644
--- a/idl/inc/bastype.hxx
+++ b/idl/inc/bastype.hxx
@@ -22,7 +22,7 @@
 
 
 #include <sal/types.h>
-#include <tools/globname.hxx>
+#include <rtl/string.hxx>
 
 class SvStringHashEntry;
 class SvIdlDataBase;
diff --git a/idl/inc/hash.hxx b/idl/inc/hash.hxx
index 67b18b34badb..150c604ff9d4 100644
--- a/idl/inc/hash.hxx
+++ b/idl/inc/hash.hxx
@@ -20,8 +20,7 @@
 #ifndef INCLUDED_IDL_INC_HASH_HXX
 #define INCLUDED_IDL_INC_HASH_HXX
 
-#include <rtl/ustring.hxx>
-#include <tools/ref.hxx>
+#include <rtl/string.hxx>
 #include <tools/solar.h>
 #include <unordered_map>
 #include <memory>
diff --git a/idl/inc/module.hxx b/idl/inc/module.hxx
index 05587ee9681e..08c14cc9c2b2 100644
--- a/idl/inc/module.hxx
+++ b/idl/inc/module.hxx
@@ -20,7 +20,6 @@
 #ifndef INCLUDED_IDL_INC_MODULE_HXX
 #define INCLUDED_IDL_INC_MODULE_HXX
 
-#include "slot.hxx"
 #include "object.hxx"
 
 class SvMetaModule final : public SvMetaObject
diff --git a/idl/inc/object.hxx b/idl/inc/object.hxx
index 6beb837688c2..8d16ca563c74 100644
--- a/idl/inc/object.hxx
+++ b/idl/inc/object.hxx
@@ -21,7 +21,9 @@
 #define INCLUDED_IDL_INC_OBJECT_HXX
 
 #include "types.hxx"
-#include "slot.hxx"
+
+#include <tools/solar.h>
+
 #include <vector>
 
 class SvMetaClass;
diff --git a/idl/inc/slot.hxx b/idl/inc/slot.hxx
index 1b8eec2ab66a..f8ba61d98fa3 100644
--- a/idl/inc/slot.hxx
+++ b/idl/inc/slot.hxx
@@ -21,7 +21,8 @@
 #define INCLUDED_IDL_INC_SLOT_HXX
 
 #include "types.hxx"
-#include "command.hxx"
+
+#include <tools/solar.h>
 
 class SvMetaSlot : public SvMetaAttribute
 {
diff --git a/idl/inc/types.hxx b/idl/inc/types.hxx
index 1648efc3d56a..badab618e605 100644
--- a/idl/inc/types.hxx
+++ b/idl/inc/types.hxx
@@ -21,7 +21,6 @@
 #define INCLUDED_IDL_INC_TYPES_HXX
 
 #include <rtl/strbuf.hxx>
-#include <tools/solar.h>
 #include <tools/ref.hxx>
 #include "basobj.hxx"
 
diff --git a/idl/source/cmptools/hash.cxx b/idl/source/cmptools/hash.cxx
index c294a1c14755..d3993881a6ba 100644
--- a/idl/source/cmptools/hash.cxx
+++ b/idl/source/cmptools/hash.cxx
@@ -18,14 +18,9 @@
  */
 
 
-// C and C++ includes
-#include <stdlib.h>
-
 // program-sensitive includes
 #include <hash.hxx>
 
-#include <rtl/character.hxx>
-
 SvStringHashEntry * SvStringHashTable::Insert( const OString& rElement, 
sal_uInt32 * pInsertPos )
 {
     auto it = maString2IntMap.find(rElement);
diff --git a/idl/source/objects/basobj.cxx b/idl/source/objects/basobj.cxx
index 551e002d046a..872b42b391ed 100644
--- a/idl/source/objects/basobj.cxx
+++ b/idl/source/objects/basobj.cxx
@@ -22,8 +22,6 @@
 #include <rtl/character.hxx>
 
 #include <basobj.hxx>
-#include <module.hxx>
-#include <globals.hxx>
 #include <database.hxx>
 
 void SvMetaObject::WriteTab( SvStream & rOutStm, sal_uInt16 nTab )
diff --git a/idl/source/objects/bastype.cxx b/idl/source/objects/bastype.cxx
index c68fa513ef0f..6a36db617f54 100644
--- a/idl/source/objects/bastype.cxx
+++ b/idl/source/objects/bastype.cxx
@@ -18,13 +18,10 @@
  */
 
 
-#include <limits.h>
 #include <bastype.hxx>
 #include <lex.hxx>
-#include <globals.hxx>
 #include <hash.hxx>
 #include <database.hxx>
-#include <tools/stream.hxx>
 
 bool SvBOOL::ReadSvIdl( SvStringHashEntry const * pName, SvTokenStream & 
rInStm )
 {
diff --git a/idl/source/objects/module.cxx b/idl/source/objects/module.cxx
index e97dd29d651c..dc692f6081c6 100644
--- a/idl/source/objects/module.cxx
+++ b/idl/source/objects/module.cxx
@@ -18,9 +18,7 @@
  */
 
 #include <module.hxx>
-#include <globals.hxx>
 #include <database.hxx>
-#include <osl/file.hxx>
 
 SvMetaModule::SvMetaModule() {}
 
diff --git a/idl/source/objects/object.cxx b/idl/source/objects/object.cxx
index 6fc0a5e0af7c..510d3a8a791d 100644
--- a/idl/source/objects/object.cxx
+++ b/idl/source/objects/object.cxx
@@ -22,12 +22,12 @@
 #include <algorithm>
 
 #include <rtl/strbuf.hxx>
-#include <osl/diagnose.h>
 #include <sal/log.hxx>
 
 #include <object.hxx>
 #include <globals.hxx>
 #include <database.hxx>
+#include <slot.hxx>
 
 
 SvClassElement::SvClassElement()
diff --git a/idl/source/objects/slot.cxx b/idl/source/objects/slot.cxx
index 6b4c65a1bcac..17b8970edc8a 100644
--- a/idl/source/objects/slot.cxx
+++ b/idl/source/objects/slot.cxx
@@ -17,7 +17,6 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include <rtl/strbuf.hxx>
 #include <osl/diagnose.h>
 #include <tools/debug.hxx>
 #include <slot.hxx>
diff --git a/idl/source/prj/command.cxx b/idl/source/prj/command.cxx
index b665d792d8bb..15d08d99d39c 100644
--- a/idl/source/prj/command.cxx
+++ b/idl/source/prj/command.cxx
@@ -21,7 +21,6 @@
 
 #include <stdlib.h>
 #include <stdio.h>
-#include <string.h>
 
 #include <osl/diagnose.h>
 #include <rtl/character.hxx>
diff --git a/idl/source/prj/database.cxx b/idl/source/prj/database.cxx
index 4b0a58424558..9aba715edaf4 100644
--- a/idl/source/prj/database.cxx
+++ b/idl/source/prj/database.cxx
@@ -21,11 +21,12 @@
 
 #include <algorithm>
 #include <stdio.h>
-#include <stdlib.h>
 #include <string_view>
 
+#include <command.hxx>
 #include <database.hxx>
 #include <globals.hxx>
+#include <slot.hxx>
 #include <rtl/strbuf.hxx>
 #include <osl/file.hxx>
 
diff --git a/idl/source/prj/globals.cxx b/idl/source/prj/globals.cxx
index 3e8160ac13ef..cf8d2ad44dcf 100644
--- a/idl/source/prj/globals.cxx
+++ b/idl/source/prj/globals.cxx
@@ -18,10 +18,8 @@
  */
 
 #include <sal/config.h>
-#include <rtl/instance.hxx>
 
 #include <globals.hxx>
-#include <database.hxx>
 
 IdlDll & GetIdlApp()
 {
diff --git a/idl/source/prj/parser.cxx b/idl/source/prj/parser.cxx
index 28652c736c39..3e53e9d35d93 100644
--- a/idl/source/prj/parser.cxx
+++ b/idl/source/prj/parser.cxx
@@ -24,6 +24,7 @@
 #include <parser.hxx>
 #include <database.hxx>
 #include <globals.hxx>
+#include <slot.hxx>
 #include <osl/file.hxx>
 
 void SvIdlParser::ReadSvIdl( const OUString & rPath )
diff --git a/idl/source/prj/svidl.cxx b/idl/source/prj/svidl.cxx
index 91ad73d19336..efc6bf2946df 100644
--- a/idl/source/prj/svidl.cxx
+++ b/idl/source/prj/svidl.cxx
@@ -18,10 +18,8 @@
  */
 
 
-#include <stdlib.h>
 #include <stdio.h>
 #include <database.hxx>
-#include <globals.hxx>
 #include <command.hxx>
 #include <rtl/ustring.hxx>
 #include <osl/file.hxx>
diff --git a/io/source/acceptor/acc_pipe.cxx b/io/source/acceptor/acc_pipe.cxx
index d95ea998e6c1..db43c58db103 100644
--- a/io/source/acceptor/acc_pipe.cxx
+++ b/io/source/acceptor/acc_pipe.cxx
@@ -24,7 +24,6 @@
 #include <com/sun/star/io/IOException.hpp>
 
 #include <osl/diagnose.h>
-#include <osl/mutex.hxx>
 #include <cppuhelper/implbase.hxx>
 #include <rtl/ref.hxx>
 
diff --git a/io/source/acceptor/acc_socket.cxx 
b/io/source/acceptor/acc_socket.cxx
index 9d4f6fe7fe85..d52fdc423bdf 100644
--- a/io/source/acceptor/acc_socket.cxx
+++ b/io/source/acceptor/acc_socket.cxx
@@ -22,7 +22,6 @@
 #include <unordered_set>
 
 #include <mutex>
-#include <rtl/ustrbuf.hxx>
 #include <rtl/ref.hxx>
 #include <com/sun/star/connection/XConnection.hpp>
 #include <com/sun/star/connection/XConnectionBroadcaster.hpp>
diff --git a/io/source/connector/ctr_socket.cxx 
b/io/source/connector/ctr_socket.cxx
index a171dc9e7d3b..dcdeef07ff83 100644
--- a/io/source/connector/ctr_socket.cxx
+++ b/io/source/connector/ctr_socket.cxx
@@ -20,7 +20,6 @@
 
 #include "connector.hxx"
 #include <com/sun/star/io/IOException.hpp>
-#include <rtl/ustrbuf.hxx>
 
 using namespace ::osl;
 using namespace ::com::sun::star::uno;
diff --git a/javaunohelper/source/vm.cxx b/javaunohelper/source/vm.cxx
index c5f2c577417a..bdb2f58e7f1b 100644
--- a/javaunohelper/source/vm.cxx
+++ b/javaunohelper/source/vm.cxx
@@ -29,7 +29,6 @@
 #include <cppuhelper/basemutex.hxx>
 #include <jvmaccess/virtualmachine.hxx>
 #include <jvmaccess/unovirtualmachine.hxx>
-#include <osl/mutex.hxx>
 
 namespace {
 
diff --git a/jvmfwk/inc/fwkutil.hxx b/jvmfwk/inc/fwkutil.hxx
index e76a92769fc1..825355f42a47 100644
--- a/jvmfwk/inc/fwkutil.hxx
+++ b/jvmfwk/inc/fwkutil.hxx
@@ -22,7 +22,6 @@
 #include <config_folders.h>
 
 #include <sal/config.h>
-#include <sal/log.hxx>
 #include <rtl/bootstrap.hxx>
 #include <rtl/byteseq.hxx>
 #include <osl/mutex.hxx>
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx 
b/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
index 49157f033616..c420ad3f1581 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx
@@ -21,6 +21,7 @@
 #include "sunversion.hxx"
 #include <osl/thread.h>
 #include <rtl/character.hxx>
+#include <rtl/ustring.hxx>
 #include <string.h>
 namespace jfw_plugin  { //stoc_javadetect
 
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx 
b/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx
index 6d2def297d4d..27d2aebcc6bc 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/sunversion.hxx
@@ -24,8 +24,6 @@
 
 #include <string_view>
 
-#include <rtl/ustring.hxx>
-
 namespace jfw_plugin
 {
 /* SunVersion is used to compare java versions based on a string, as taken
diff --git a/jvmfwk/source/framework.cxx b/jvmfwk/source/framework.cxx
index 200724b5483f..4163eea57b7c 100644
--- a/jvmfwk/source/framework.cxx
+++ b/jvmfwk/source/framework.cxx
@@ -26,8 +26,10 @@
 #include <rtl/ref.hxx>
 #include <rtl/ustring.hxx>
 #include <osl/diagnose.h>
+#ifdef _WIN32
 #include <osl/file.hxx>
 #include <osl/process.h>
+#endif
 #include <osl/thread.hxx>
 #include <jvmfwk/framework.hxx>
 #include <vendorbase.hxx>
diff --git a/l10ntools/IwyuFilter_l10ntools.yaml 
b/l10ntools/IwyuFilter_l10ntools.yaml
new file mode 100644
index 000000000000..171e54ae6b22
--- /dev/null
+++ b/l10ntools/IwyuFilter_l10ntools.yaml
@@ -0,0 +1,9 @@
+---
+assumeFilename: l10ntools/source/helpmerge.cxx
+excludelist:
+    l10ntools/source/idxdict/idxdict.cxx:
+    # Actually needed
+    - fstream
+    l10ntools/source/xmlparse.cxx:
+    # Actually needed
+    - fstream
diff --git a/l10ntools/inc/cfgmerge.hxx b/l10ntools/inc/cfgmerge.hxx
index 3f4fdb55c947..8c7e90720081 100644
--- a/l10ntools/inc/cfgmerge.hxx
+++ b/l10ntools/inc/cfgmerge.hxx
@@ -27,6 +27,7 @@
 #include <memory>
 #include <vector>
 #include "po.hxx"
+#include "export.hxx"
 
 typedef std::unordered_map<OString, OString> OStringHashMap;
 
diff --git a/l10ntools/inc/common.hxx b/l10ntools/inc/common.hxx
index 78bbbfdb83cc..ec5ed0c19586 100644
--- a/l10ntools/inc/common.hxx
+++ b/l10ntools/inc/common.hxx
@@ -14,7 +14,6 @@
 
 #include <sal/config.h>
 
-#include <iostream>
 #include <string_view>
 
 #include <rtl/string.hxx>
diff --git a/l10ntools/inc/export.hxx b/l10ntools/inc/export.hxx
index 183cecea2531..64091d6cc5b8 100644
--- a/l10ntools/inc/export.hxx
+++ b/l10ntools/inc/export.hxx
@@ -21,27 +21,17 @@
 #define INCLUDED_L10NTOOLS_INC_EXPORT_HXX
 
 #include <sal/config.h>
-#include "po.hxx"
 
-#include <cstddef>
-#include <fstream>
+#include <rtl/string.hxx>
 
-#include <osl/file.hxx>
-#include <osl/file.h>
-
-#include <iterator>
 #include <set>
 #include <unordered_map>
 #include <memory>
 #include <vector>
-#include <queue>
-#include <string>
 #include <string_view>
 
 #ifdef _WIN32
 #include <direct.h>
-#else
-#include <unistd.h>
 #endif
 
 #define NO_TRANSLATE_ISO        "x-no-translate"
diff --git a/l10ntools/inc/helper.hxx b/l10ntools/inc/helper.hxx
index c63f781a5d91..fb0db0fc13f7 100644
--- a/l10ntools/inc/helper.hxx
+++ b/l10ntools/inc/helper.hxx
@@ -16,12 +16,9 @@
 
 #include <string_view>
 
-#include <sal/types.h>
-
-#include <libxml/parser.h>
+#include <libxml/xmlstring.h>
 
 #include <rtl/string.hxx>
-#include <rtl/strbuf.hxx>
 
 
 namespace helper {
diff --git a/l10ntools/inc/helpmerge.hxx b/l10ntools/inc/helpmerge.hxx
index 3f9426b6b4de..9420f2356b2f 100644
--- a/l10ntools/inc/helpmerge.hxx
+++ b/l10ntools/inc/helpmerge.hxx
@@ -24,10 +24,10 @@
 
 #include <string_view>
 
+#include "export.hxx"
 #include "xmlparse.hxx"
-#include <rtl/ustring.hxx>
-#include <rtl/ustrbuf.hxx>
-#include <rtl/strbuf.hxx>
+
+#include <rtl/string.hxx>
 
 /// This Class is responsible for extracting/merging OpenOffice XML Helpfiles
 class HelpParser
diff --git a/l10ntools/inc/lngmerge.hxx b/l10ntools/inc/lngmerge.hxx
index 56eaec71b11d..89f383d92ab7 100644
--- a/l10ntools/inc/lngmerge.hxx
+++ b/l10ntools/inc/lngmerge.hxx
@@ -22,11 +22,10 @@
 
 #include <sal/config.h>
 
-#include <iosfwd>
 #include <vector>
 
-#include "common.hxx"
 #include "export.hxx"
+#include "po.hxx"
 
 #define LNG_OK              0x0000
 #define LNG_COULD_NOT_OPEN  0x0001
diff --git a/l10ntools/inc/treemerge.hxx b/l10ntools/inc/treemerge.hxx
index 63791b4655a9..8e87188d8b69 100644
--- a/l10ntools/inc/treemerge.hxx
+++ b/l10ntools/inc/treemerge.hxx
@@ -12,7 +12,6 @@
 
 #include <libxml/tree.h>
 #include <rtl/string.hxx>
-#include <vector>
 
 /**
   Class for localization of *.tree files
diff --git a/l10ntools/inc/xmlparse.hxx b/l10ntools/inc/xmlparse.hxx
index a9993f460b5c..9a8b1e673213 100644
--- a/l10ntools/inc/xmlparse.hxx
+++ b/l10ntools/inc/xmlparse.hxx
@@ -26,14 +26,10 @@
 #include <memory>
 #include <vector>
 
-#include <signal.h>
-
-#include <libxml/xmlexports.h>
 #include <expat.h>
 
 #include <rtl/string.hxx>
 #include <rtl/strbuf.hxx>
-#include "export.hxx"
 #include <unordered_map>
 
 class XMLParentNode;
diff --git a/l10ntools/inc/xrmmerge.hxx b/l10ntools/inc/xrmmerge.hxx
index 7468f43f6122..4225f44d12b8 100644
--- a/l10ntools/inc/xrmmerge.hxx
+++ b/l10ntools/inc/xrmmerge.hxx
@@ -26,6 +26,11 @@
 #include <fstream>
 #include <string_view>
 
+#include <rtl/string.hxx>
+
+#include "export.hxx"
+#include "po.hxx"
+
 /// Parser for *.xrm and description.xml files
 class XRMResParser
 {
diff --git a/l10ntools/source/cfgmerge.cxx b/l10ntools/source/cfgmerge.cxx
index 3fc24d50d5ca..69fbd3777f85 100644
--- a/l10ntools/source/cfgmerge.cxx
+++ b/l10ntools/source/cfgmerge.cxx
@@ -24,8 +24,7 @@
 
 #include <cstdio>
 #include <cstdlib>
-#include <cstring>
-
+#include <iostream>
 #include <memory>
 #include <rtl/strbuf.hxx>
 
diff --git a/l10ntools/source/common.cxx b/l10ntools/source/common.cxx
index e2d14ac36431..4cc9ba6405a9 100644
--- a/l10ntools/source/common.cxx
+++ b/l10ntools/source/common.cxx
@@ -7,6 +7,8 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
+#include <iostream>
+
 #include <common.hxx>
 
 namespace {
diff --git a/l10ntools/source/helper.cxx b/l10ntools/source/helper.cxx
index 767c04eb5152..b8df012dc149 100644
--- a/l10ntools/source/helper.cxx
+++ b/l10ntools/source/helper.cxx
@@ -9,7 +9,10 @@
 
 #include <sal/config.h>
 
+#include <libxml/parser.h>
+
 #include <o3tl/safeint.hxx>
+#include <rtl/strbuf.hxx>
 
 #include <helper.hxx>
 
diff --git a/l10ntools/source/helpex.cxx b/l10ntools/source/helpex.cxx
index c81fce12ca74..e9f744a95bbc 100644
--- a/l10ntools/source/helpex.cxx
+++ b/l10ntools/source/helpex.cxx
@@ -20,7 +20,6 @@
 #include <sal/config.h>
 
 #include <iostream>
-#include <fstream>
 #include <string>
 #include <cstring>
 
diff --git a/l10ntools/source/helpmerge.cxx b/l10ntools/source/helpmerge.cxx
index ed5e1c8777aa..42cdb6ce19ab 100644
--- a/l10ntools/source/helpmerge.cxx
+++ b/l10ntools/source/helpmerge.cxx
@@ -20,21 +20,14 @@
 #include <sal/config.h>
 
 #include <fstream>
-#include <functional>
-#include <memory>
 
-#include <osl/file.hxx>
 #include <sal/log.hxx>
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <helpmerge.hxx>
-#include <algorithm>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <iostream>
 #include <vector>
-#include <rtl/strbuf.hxx>
+
 #ifdef _WIN32
 #if !defined WIN32_LEAN_AND_MEAN
 # define WIN32_LEAN_AND_MEAN
diff --git a/l10ntools/source/lngex.cxx b/l10ntools/source/lngex.cxx
index 7435c063ed1c..2d7c413ad1ed 100644
--- a/l10ntools/source/lngex.cxx
+++ b/l10ntools/source/lngex.cxx
@@ -21,6 +21,8 @@
 
 #include <sal/main.h>
 
+#include <common.hxx>
+
 #include <lngmerge.hxx>
 
 SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
diff --git a/l10ntools/source/lngmerge.cxx b/l10ntools/source/lngmerge.cxx
index 33794a377c2b..530bda4cfc5d 100644
--- a/l10ntools/source/lngmerge.cxx
+++ b/l10ntools/source/lngmerge.cxx
@@ -20,11 +20,11 @@
 #include <sal/config.h>
 
 #include <cstddef>
-#include <fstream>
-#include <iterator>
+#include <iostream>
 #include <memory>
 #include <string>
 
+#include <common.hxx>
 #include <po.hxx>
 #include <lngmerge.hxx>
 
diff --git a/l10ntools/source/localize.cxx b/l10ntools/source/localize.cxx
index a5a1b2c3b3ef..8dc1f26422ac 100644
--- a/l10ntools/source/localize.cxx
+++ b/l10ntools/source/localize.cxx
@@ -20,7 +20,6 @@
 #include <sal/config.h>
 
 #include <cassert>
-#include <cstddef>
 #include <cstdlib>
 #include <iostream>
 #include <string>
diff --git a/l10ntools/source/po.cxx b/l10ntools/source/po.cxx
index dfe013cb9b7c..a29fb4fe98dd 100644
--- a/l10ntools/source/po.cxx
+++ b/l10ntools/source/po.cxx
@@ -8,6 +8,7 @@
  */
 
 #include <rtl/ustring.hxx>
+#include <rtl/strbuf.hxx>
 #include <rtl/crc.h>
 #include <sal/log.hxx>
 
diff --git a/l10ntools/source/propmerge.cxx b/l10ntools/source/propmerge.cxx
index 8c6da8e93b54..2e2cf19e4cc6 100644
--- a/l10ntools/source/propmerge.cxx
+++ b/l10ntools/source/propmerge.cxx
@@ -7,11 +7,12 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
+#include <rtl/ustring.hxx>
+
 #include <memory>
 #include <cstdlib>
 #include <cassert>
 #include <iostream>
-#include <fstream>
 #include <iomanip>
 #include <string_view>
 
diff --git a/l10ntools/source/treemerge.cxx b/l10ntools/source/treemerge.cxx
index 2920734eea4d..b50311cce6af 100644
--- a/l10ntools/source/treemerge.cxx
+++ b/l10ntools/source/treemerge.cxx
@@ -8,13 +8,11 @@
  */
 
 #include <iostream>
-#include <fstream>
 #include <cassert>
 #include <cstring>
 
 #include <libxml/tree.h>
 #include <libxml/parser.h>
-#include <libxml/xmlmemory.h>
 #include <libxml/xmlstring.h>
 
 #include <export.hxx>
diff --git a/l10ntools/source/xmlparse.cxx b/l10ntools/source/xmlparse.cxx
index 10f52fdcb3d7..7e067f7f039b 100644
--- a/l10ntools/source/xmlparse.cxx
+++ b/l10ntools/source/xmlparse.cxx
@@ -18,19 +18,17 @@
  */
 #include <sal/config.h>
 
-#include <iterator> /* std::iterator*/
-
 #include <cassert>
 #include <stdio.h>
 #include <string_view>
 
 #include <helper.hxx>
-#include <common.hxx>
 #include <xmlparse.hxx>
 #include <fstream>
 #include <iostream>
-#include <osl/thread.hxx>
+#include <osl/file.hxx>
 #include <osl/process.h>
+#include <rtl/ustring.hxx>
 #include <rtl/strbuf.hxx>
 #include <unicode/regex.h>
 
diff --git a/l10ntools/source/xrmmerge.cxx b/l10ntools/source/xrmmerge.cxx
index d1dc5bb4dcd2..b7a7e0042c01 100644
--- a/l10ntools/source/xrmmerge.cxx
+++ b/l10ntools/source/xrmmerge.cxx
@@ -19,8 +19,6 @@
 
 #include <sal/config.h>
 
-#include <cstring>
-
 #include <stdio.h>
 
 #include <common.hxx>
@@ -31,7 +29,6 @@
 #include <tokens.h>
 #include <helper.hxx>
 #include <iostream>
-#include <fstream>
 #include <vector>
 #include <memory>
 
diff --git a/libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx 
b/libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx
index 4d889645b2fc..f23148eaf2f9 100644
--- a/libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx
+++ b/libreofficekit/qa/gtktiledviewer/gtv-lok-dialog.cxx
@@ -11,7 +11,6 @@
 #include <gdk/gdkkeysyms.h>
 
 #include <iostream>
-#include <sstream>
 
 #include <LibreOfficeKit/LibreOfficeKitGtk.h>
 #include <LibreOfficeKit/LibreOfficeKitEnums.h>
diff --git a/libreofficekit/qa/unit/checkapi.cxx 
b/libreofficekit/qa/unit/checkapi.cxx
index acf00e0b9cb1..ec4a718366e9 100644
--- a/libreofficekit/qa/unit/checkapi.cxx
+++ b/libreofficekit/qa/unit/checkapi.cxx
@@ -11,10 +11,9 @@
 #error Build system problem; LIBO_INTERNAL_ONLY should not be defined here
 #endif
 
-#include <LibreOfficeKit/LibreOfficeKit.hxx>
-
 #include <sal/config.h>
-#include <sal/saldllapi.h>
+#include <sal/types.h>
+
 #include <cppunit/plugin/TestPlugIn.h>
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/libreofficekit/qa/unit/test.h b/libreofficekit/qa/unit/test.h
index ea44b9d391ec..f29db13bb85b 100644
--- a/libreofficekit/qa/unit/test.h
+++ b/libreofficekit/qa/unit/test.h
@@ -10,6 +10,8 @@
 #ifndef INCLUDED_LIBREOFFICEKIT_QA_TEST_H
 #define INCLUDED_LIBREOFFICEKIT_QA_TEST_H
 
+#include <LibreOfficeKit/LibreOfficeKit.h>
+
 LibreOfficeKit* compile_test(void);
 
 #endif // INCLUDED_LIBREOFFICEKIT_QA_TEST_H
diff --git a/lingucomponent/IwyuFilter_lingucomponent.yaml 
b/lingucomponent/IwyuFilter_lingucomponent.yaml
new file mode 100644
index 000000000000..ebea8246ccca
--- /dev/null
+++ b/lingucomponent/IwyuFilter_lingucomponent.yaml
@@ -0,0 +1,20 @@
+---
+assumeFilename: lingucomponent/source/spellcheck/spell/sspellimp.cxx
+excludelist:
+    lingucomponent/source/lingutil/lingutil.hxx:
+    # Needed on WIN
+    - rtl/string.hxx
+    lingucomponent/source/languageguessing/guesslang.cxx:
+    # Needed for code protected by EXTTEXTCAT_VERSION_MAJOR
+    - libexttextcat/textcat.h
+    - tools/debug.hxx
+    - sal/macros.h
+    lingucomponent/source/numbertext/numbertext.cxx:
+    # Needed on WIN
+    - o3tl/char16_t2wchar_t.hxx
+    lingucomponent/source/spellcheck/spell/sspellimp.cxx:
+    # Needed for SpellFailure::SPELLING_ERROR
+    - com/sun/star/linguistic2/SpellFailure.hpp
+    lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx:
+    # Actually used
+    - com/sun/star/linguistic2/XLinguProperties.hpp
diff --git a/lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx 
b/lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx
index 3163b631e9cd..9ccc1210956a 100644
--- a/lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx
+++ b/lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx
@@ -23,8 +23,6 @@
 #include <cppuhelper/factory.hxx>
 #include <cppuhelper/supportsservice.hxx>
 #include <cppuhelper/weak.hxx>
-#include <com/sun/star/registry/XRegistryKey.hpp>
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
 #include <com/sun/star/linguistic2/XLinguProperties.hpp>
 #include <i18nlangtag/languagetag.hxx>
 #include <tools/debug.hxx>
@@ -40,12 +38,9 @@
 #include <rtl/textenc.h>
 #include <sal/log.hxx>
 
-#include <linguistic/lngprops.hxx>
 #include <linguistic/misc.hxx>
 #include <svtools/strings.hrc>
 #include <unotools/charclass.hxx>
-#include <unotools/pathoptions.hxx>
-#include <unotools/useroptions.hxx>
 #include <unotools/lingucfg.hxx>
 #include <unotools/resmgr.hxx>
 #include <osl/file.hxx>
diff --git a/lingucomponent/source/languageguessing/guess.cxx 
b/lingucomponent/source/languageguessing/guess.cxx
index e6eb506eb6fe..a7cbeccabc98 100644
--- a/lingucomponent/source/languageguessing/guess.cxx
+++ b/lingucomponent/source/languageguessing/guess.cxx
@@ -20,7 +20,6 @@
 #include <sal/config.h>
 
 #include <cassert>
-#include <iostream>
 #include <string.h>
 
 #ifdef SYSTEM_LIBEXTTEXTCAT
diff --git a/lingucomponent/source/languageguessing/guesslang.cxx 
b/lingucomponent/source/languageguessing/guesslang.cxx
index 987642538f0e..d6d5803a51a7 100644
--- a/lingucomponent/source/languageguessing/guesslang.cxx
+++ b/lingucomponent/source/languageguessing/guesslang.cxx
@@ -26,7 +26,6 @@
 
 #include <sal/config.h>
 #include <cppuhelper/factory.hxx>
-#include <cppuhelper/implementationentry.hxx>
 #include <cppuhelper/implbase.hxx>
 #include <cppuhelper/supportsservice.hxx>
 
diff --git a/lingucomponent/source/languageguessing/simpleguesser.cxx 
b/lingucomponent/source/languageguessing/simpleguesser.cxx
index 8c370b576315..7b4d9f1119ad 100644
--- a/lingucomponent/source/languageguessing/simpleguesser.cxx
+++ b/lingucomponent/source/languageguessing/simpleguesser.cxx
@@ -28,21 +28,17 @@
   */
 
 #include <string.h>
-#include <sstream>
-#include <iostream>
 
 #ifdef SYSTEM_LIBEXTTEXTCAT
 #include <libexttextcat/textcat.h>
 #include <libexttextcat/common.h>
 #include <libexttextcat/constants.h>
 #include <libexttextcat/fingerprint.h>
-#include <libexttextcat/utf8misc.h>
 #else
 #include <textcat.h>
 #include <common.h>
 #include <constants.h>
 #include <fingerprint.h>
-#include <utf8misc.h>
 #endif
 
 #include <sal/types.h>
diff --git a/lingucomponent/source/languageguessing/simpleguesser.hxx 
b/lingucomponent/source/languageguessing/simpleguesser.hxx
index d6b88d1d67b9..aec5442853b1 100644
--- a/lingucomponent/source/languageguessing/simpleguesser.hxx
+++ b/lingucomponent/source/languageguessing/simpleguesser.hxx
@@ -19,9 +19,7 @@
 #ifndef INCLUDED_LINGUCOMPONENT_SOURCE_LANGUAGEGUESSING_SIMPLEGUESSER_HXX
 #define INCLUDED_LINGUCOMPONENT_SOURCE_LANGUAGEGUESSING_SIMPLEGUESSER_HXX
 
-#include <string.h>
 #include <string>
-#include <cstdlib>
 #include <vector>
 #include "guess.hxx"
 
diff --git a/lingucomponent/source/lingutil/lingutil.hxx 
b/lingucomponent/source/lingutil/lingutil.hxx
index 984b5e2e8902..4c4fe15ec47f 100644
--- a/lingucomponent/source/lingutil/lingutil.hxx
+++ b/lingucomponent/source/lingutil/lingutil.hxx
@@ -20,9 +20,7 @@
 #ifndef INCLUDED_LINGUCOMPONENT_SOURCE_LINGUTIL_LINGUTIL_HXX
 #define INCLUDED_LINGUCOMPONENT_SOURCE_LINGUTIL_LINGUTIL_HXX
 
-#include <com/sun/star/lang/Locale.hpp>
 #include <rtl/string.hxx>
-#include <rtl/ustring.hxx>
 
 #include <vector>
 
diff --git a/lingucomponent/source/numbertext/numbertext.cxx 
b/lingucomponent/source/numbertext/numbertext.cxx
index f878a55f591c..79c8e6810041 100644
--- a/lingucomponent/source/numbertext/numbertext.cxx
+++ b/lingucomponent/source/numbertext/numbertext.cxx
@@ -17,7 +17,6 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include <iostream>
 #include <mutex>
 
 #include <osl/file.hxx>
@@ -26,19 +25,15 @@
 
 #include <sal/config.h>
 #include <cppuhelper/factory.hxx>
-#include <cppuhelper/implementationentry.hxx>
 #include <cppuhelper/implbase.hxx>
 #include <cppuhelper/supportsservice.hxx>
 
 #include <i18nlangtag/languagetag.hxx>
-#include <com/sun/star/lang/IllegalArgumentException.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/linguistic2/XNumberText.hpp>
 #include <unotools/pathoptions.hxx>
 #include <osl/thread.h>
 
-#include <sal/macros.h>
-
 #include <Numbertext.hxx>
 
 using namespace ::osl;
diff --git a/lingucomponent/source/spellcheck/spell/sspellimp.cxx 
b/lingucomponent/source/spellcheck/spell/sspellimp.cxx
index 843dcfb28585..95b264157533 100644
--- a/lingucomponent/source/spellcheck/spell/sspellimp.cxx
+++ b/lingucomponent/source/spellcheck/spell/sspellimp.cxx
@@ -23,12 +23,9 @@
 #include <com/sun/star/linguistic2/XLinguProperties.hpp>
 #include <comphelper/lok.hxx>
 #include <comphelper/processfactory.hxx>
-#include <cppuhelper/factory.hxx>
 #include <cppuhelper/supportsservice.hxx>
 #include <cppuhelper/weak.hxx>
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/registry/XRegistryKey.hpp>
 #include <tools/debug.hxx>
 #include <osl/mutex.hxx>
 #include <osl/thread.h>
@@ -38,14 +35,12 @@
 #include <hunspell.hxx>
 #include "sspellimp.hxx"
 
-#include <linguistic/lngprops.hxx>
+#include <linguistic/misc.hxx>
 #include <linguistic/spelldta.hxx>
 #include <i18nlangtag/languagetag.hxx>
 #include <svtools/strings.hrc>
-#include <unotools/pathoptions.hxx>
 #include <unotools/lingucfg.hxx>
 #include <unotools/resmgr.hxx>
-#include <unotools/useroptions.hxx>
 #include <osl/file.hxx>
 #include <rtl/ustrbuf.hxx>
 #include <rtl/textenc.h>
diff --git a/lingucomponent/source/spellcheck/spell/sspellimp.hxx 
b/lingucomponent/source/spellcheck/spell/sspellimp.hxx
index c4c002b9ead1..000f1756f5bc 100644
--- a/lingucomponent/source/spellcheck/spell/sspellimp.hxx
+++ b/lingucomponent/source/spellcheck/spell/sspellimp.hxx
@@ -25,25 +25,22 @@
 #include <com/sun/star/lang/XComponent.hpp>
 #include <com/sun/star/lang/XInitialization.hpp>
 #include <com/sun/star/lang/XServiceDisplayName.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/beans/PropertyValues.hpp>
+#include <com/sun/star/beans/PropertyValue.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/linguistic2/XSpellChecker.hpp>
 #include <com/sun/star/linguistic2/XLinguServiceEventBroadcaster.hpp>
 
-#include <linguistic/misc.hxx>
 #include <linguistic/lngprophelp.hxx>
 
-#include <lingutil.hxx>
 #include <memory>
 
+#include <hunspell.hxx>
+
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::beans;
 using namespace ::com::sun::star::lang;
 using namespace ::com::sun::star::linguistic2;
 
-class Hunspell;
-
 class SpellChecker :
     public cppu::WeakImplHelper
     <
diff --git a/lingucomponent/source/thesaurus/libnth/nthesimp.cxx 
b/lingucomponent/source/thesaurus/libnth/nthesimp.cxx
index 6fc64f781267..ca29cca2ac52 100644
--- a/lingucomponent/source/thesaurus/libnth/nthesimp.cxx
+++ b/lingucomponent/source/thesaurus/libnth/nthesimp.cxx
@@ -21,9 +21,6 @@
 #include <cppuhelper/factory.hxx>
 #include <cppuhelper/supportsservice.hxx>
 #include <cppuhelper/weak.hxx>
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#include <com/sun/star/registry/XRegistryKey.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
 #include <com/sun/star/linguistic2/LinguServiceManager.hpp>
 #include <com/sun/star/linguistic2/XLinguProperties.hpp>
 #include <com/sun/star/linguistic2/XSpellChecker1.hpp>
@@ -34,19 +31,16 @@
 #include <comphelper/sequence.hxx>
 #include <osl/mutex.hxx>
 #include <osl/thread.h>
-#include <unotools/pathoptions.hxx>
 #include <unotools/lingucfg.hxx>
 #include <unotools/resmgr.hxx>
 
 #include <rtl/string.hxx>
-#include <rtl/ustrbuf.hxx>
 #include <rtl/textenc.h>
 
 #include <svtools/strings.hrc>
 
 #include "nthesimp.hxx"
 #include <linguistic/misc.hxx>
-#include <linguistic/lngprops.hxx>
 #include "nthesdta.hxx"
 
 #include <vector>
diff --git a/linguistic/IwyuFilter_linguistic.yaml 
b/linguistic/IwyuFilter_linguistic.yaml
index 40c2b48352eb..07a9a54a59f8 100644
--- a/linguistic/IwyuFilter_linguistic.yaml
+++ b/linguistic/IwyuFilter_linguistic.yaml
@@ -4,3 +4,6 @@ excludelist:
     linguistic/source/hyphdsp.cxx:
     # Needed for direct member access
     - com/sun/star/linguistic2/XLinguProperties.hpp
+    linguistic/source/convdic.cxx:
+    # Actually used
+    - com/sun/star/util/XFlushListener.hpp
diff --git a/linguistic/source/dlistimp.cxx b/linguistic/source/dlistimp.cxx
index b7fbfa1844ab..53be03d9d20a 100644
--- a/linguistic/source/dlistimp.cxx
+++ b/linguistic/source/dlistimp.cxx
@@ -19,7 +19,6 @@
 
 
 #include <cppuhelper/factory.hxx>
-#include <i18nlangtag/mslangid.hxx>
 #include <osl/file.hxx>
 #include <tools/debug.hxx>
 #include <tools/stream.hxx>
diff --git a/linguistic/source/lngopt.hxx b/linguistic/source/lngopt.hxx
index b21ea631cc19..896e345edb74 100644
--- a/linguistic/source/lngopt.hxx
+++ b/linguistic/source/lngopt.hxx
@@ -21,7 +21,6 @@
 #define INCLUDED_LINGUISTIC_SOURCE_LNGOPT_HXX
 
 #include <cppuhelper/implbase.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
 #include <comphelper/interfacecontainer3.hxx>
 #include <comphelper/multiinterfacecontainer3.hxx>
 #include <com/sun/star/beans/XFastPropertySet.hpp>
diff --git a/linguistic/source/lngprophelp.cxx 
b/linguistic/source/lngprophelp.cxx
index bcc3f7a691a4..a14c96c9501e 100644
--- a/linguistic/source/lngprophelp.cxx
+++ b/linguistic/source/lngprophelp.cxx
@@ -19,7 +19,6 @@
 
 
 #include <tools/debug.hxx>
-#include <sal/macros.h>
 #include <sal/log.hxx>
 
 #include <com/sun/star/linguistic2/LinguServiceEvent.hpp>
diff --git a/linguistic/source/lngsvcmgr.hxx b/linguistic/source/lngsvcmgr.hxx
index 5560fad69e14..76cb7d182ac9 100644
--- a/linguistic/source/lngsvcmgr.hxx
+++ b/linguistic/source/lngsvcmgr.hxx
@@ -34,7 +34,6 @@
 #include <vcl/timer.hxx>
 #include <vcl/idle.hxx>
 #include <vector>
-#include <memory>
 #include <optional>
 
 class SpellCheckerDispatcher;
diff --git a/linguistic/source/misc.cxx b/linguistic/source/misc.cxx
index 0954c093238a..c1e4cc7757d0 100644
--- a/linguistic/source/misc.cxx
+++ b/linguistic/source/misc.cxx
@@ -38,13 +38,11 @@
 #include <unotools/charclass.hxx>
 #include <unotools/linguprops.hxx>
 #include <unotools/localedatawrapper.hxx>
-#include <unotools/syslocale.hxx>
 #include <svtools/strings.hrc>
 #include <unotools/resmgr.hxx>
 
 #include <linguistic/misc.hxx>
 #include <linguistic/hyphdta.hxx>
-#include <mutex>
 
 using namespace osl;
 using namespace com::sun::star;
diff --git a/lotuswordpro/inc/xfilter/xfdrawobj.hxx 
b/lotuswordpro/inc/xfilter/xfdrawobj.hxx
index 66464fa1f86d..7a6425e28910 100644
--- a/lotuswordpro/inc/xfilter/xfdrawobj.hxx
+++ b/lotuswordpro/inc/xfilter/xfdrawobj.hxx
@@ -60,7 +60,6 @@
 #ifndef INCLUDED_LOTUSWORDPRO_INC_XFILTER_XFDRAWOBJ_HXX
 #define INCLUDED_LOTUSWORDPRO_INC_XFILTER_XFDRAWOBJ_HXX
 
-#include <xfilter/xfglobal.hxx>
 #include <xfilter/xfframe.hxx>
 #include <basegfx/numeric/ftools.hxx>
 
diff --git a/lotuswordpro/inc/xfilter/xfglobal.hxx 
b/lotuswordpro/inc/xfilter/xfglobal.hxx
index 60f1a798c588..173d17ffa350 100644
--- a/lotuswordpro/inc/xfilter/xfglobal.hxx
+++ b/lotuswordpro/inc/xfilter/xfglobal.hxx
@@ -62,7 +62,6 @@
 #define INCLUDED_LOTUSWORDPRO_INC_XFILTER_XFGLOBAL_HXX
 
 #include <rtl/ustring.hxx>
-#include <cmath>
 
 #define FLOAT_MIN 0.001
 #define MAX2(a, b) (((a) > (b)) ? (a) : (b))
diff --git a/lotuswordpro/inc/xfilter/xfrow.hxx 
b/lotuswordpro/inc/xfilter/xfrow.hxx
index 3f419b3dfdc1..df4d001dc492 100644
--- a/lotuswordpro/inc/xfilter/xfrow.hxx
+++ b/lotuswordpro/inc/xfilter/xfrow.hxx
@@ -62,7 +62,6 @@
 #include <xfilter/xfcell.hxx>
 #include <xfilter/xfcontent.hxx>
 #include <rtl/ref.hxx>
-#include <map>
 
 class XFCell;
 class XFTable;
diff --git a/lotuswordpro/source/filter/lwpdoc.cxx 
b/lotuswordpro/source/filter/lwpdoc.cxx
index d83b37500d9a..b6955b48978a 100644
--- a/lotuswordpro/source/filter/lwpdoc.cxx
+++ b/lotuswordpro/source/filter/lwpdoc.cxx
@@ -54,12 +54,12 @@
  *
  ************************************************************************/
 #include <lwpglobalmgr.hxx>
+#include "lwpcharacterstyle.hxx"
 #include "lwpdoc.hxx"
 #include "lwpfootnote.hxx"
 #include "lwppagehint.hxx"
 #include "lwpdivinfo.hxx"
 #include "lwpholder.hxx"
-#include "lwpparastyle.hxx"
 #include "lwpstory.hxx"
 #include "lwpsilverbullet.hxx"
 #include "lwpsortopt.hxx"
diff --git a/lotuswordpro/source/filter/lwpdrawobj.cxx 
b/lotuswordpro/source/filter/lwpdrawobj.cxx
index 2dc4d5cdee9c..1ad3a5329002 100644
--- a/lotuswordpro/source/filter/lwpdrawobj.cxx
+++ b/lotuswordpro/source/filter/lwpdrawobj.cxx
@@ -67,6 +67,7 @@
 
 #include <xfilter/xfframe.hxx>
 
+#include <xfilter/xfglobal.hxx>
 #include <xfilter/xfstylemanager.hxx>
 #include <xfilter/xfdrawstyle.hxx>
 #include <xfilter/xfparastyle.hxx>
diff --git a/lotuswordpro/source/filter/lwptablelayout.hxx 
b/lotuswordpro/source/filter/lwptablelayout.hxx
index ca4d46812e55..beee6acb6c16 100644
--- a/lotuswordpro/source/filter/lwptablelayout.hxx
+++ b/lotuswordpro/source/filter/lwptablelayout.hxx
@@ -308,8 +308,6 @@ protected:
     void Read() override;
 };
 
-#include "lwpcelllayout.hxx"
-
 #endif
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Reply via email to