From e5078aba3bc4d75e6c761abd7c2599a192f0a7d4 Mon Sep 17 00:00:00 2001 From: ISSOtm Date: Thu, 28 Mar 2024 01:16:51 +0100 Subject: [PATCH] Clean up `#include`s Remove unused headers, and avoid relying on transitive inclusions `include-what-you-use` has been very useful for this! --- include/asm/main.hpp | 3 --- include/asm/warning.hpp | 2 -- include/error.hpp | 2 -- include/file.hpp | 4 ---- include/gfx/main.hpp | 3 --- include/gfx/pal_packing.hpp | 2 -- include/gfx/pal_sorting.hpp | 1 - include/gfx/proto_palette.hpp | 1 - include/link/main.hpp | 1 - include/link/output.hpp | 2 -- include/link/section.hpp | 1 - include/platform.hpp | 16 ++++++++-------- src/asm/charmap.cpp | 3 --- src/asm/fixpoint.cpp | 3 --- src/asm/fstack.cpp | 1 - src/asm/lexer.cpp | 1 - src/asm/parser.y | 1 - src/asm/rpn.cpp | 2 -- src/asm/section.cpp | 2 ++ src/asm/symbol.cpp | 2 -- src/fix/main.cpp | 1 - src/gfx/main.cpp | 2 -- src/gfx/pal_packing.cpp | 3 +-- src/gfx/pal_sorting.cpp | 2 +- src/gfx/pal_spec.cpp | 4 +--- src/gfx/process.cpp | 4 ---- src/gfx/proto_palette.cpp | 1 + src/gfx/reverse.cpp | 3 --- src/link/assign.cpp | 3 +-- src/link/object.cpp | 3 +-- src/link/output.cpp | 3 ++- src/link/patch.cpp | 7 ------- src/link/sdas_obj.cpp | 3 --- src/link/section.cpp | 1 + src/link/symbol.cpp | 5 ----- src/linkdefs.cpp | 2 -- src/version.cpp | 1 - test/gfx/rgbgfx_test.cpp | 1 - 38 files changed, 19 insertions(+), 83 deletions(-) diff --git a/include/asm/main.hpp b/include/asm/main.hpp index 2631e545..dc50c870 100644 --- a/include/asm/main.hpp +++ b/include/asm/main.hpp @@ -3,12 +3,9 @@ #ifndef RGBDS_MAIN_H #define RGBDS_MAIN_H -#include #include #include -#include "helpers.hpp" - extern bool haltNop; extern bool warnOnHaltNop; extern bool optimizeLoads; diff --git a/include/asm/warning.hpp b/include/asm/warning.hpp index 902ccbcb..0e6e5481 100644 --- a/include/asm/warning.hpp +++ b/include/asm/warning.hpp @@ -3,8 +3,6 @@ #ifndef WARNING_H #define WARNING_H -#include "helpers.hpp" - extern unsigned int nbErrors, maxErrors; enum WarningState { WARNING_DEFAULT, WARNING_DISABLED, WARNING_ENABLED, WARNING_ERROR }; diff --git a/include/error.hpp b/include/error.hpp index 3b686f8f..4ed9ad4f 100644 --- a/include/error.hpp +++ b/include/error.hpp @@ -3,8 +3,6 @@ #ifndef RGBDS_ERROR_H #define RGBDS_ERROR_H -#include "platform.hpp" - extern "C" { [[gnu::format(printf, 1, 2)]] void warn(char const *fmt...); diff --git a/include/file.hpp b/include/file.hpp index 35a26492..947753cb 100644 --- a/include/file.hpp +++ b/include/file.hpp @@ -3,9 +3,7 @@ #ifndef RGBDS_FILE_HPP #define RGBDS_FILE_HPP -#include #include -#include #include #include #include @@ -13,10 +11,8 @@ #include #include #include -#include #include -#include "helpers.hpp" #include "platform.hpp" #include "gfx/main.hpp" diff --git a/include/gfx/main.hpp b/include/gfx/main.hpp index 6fd1fa41..fcf25769 100644 --- a/include/gfx/main.hpp +++ b/include/gfx/main.hpp @@ -4,15 +4,12 @@ #define RGBDS_GFX_MAIN_HPP #include -#include #include #include #include #include #include -#include "helpers.hpp" - #include "gfx/rgba.hpp" struct Options { diff --git a/include/gfx/pal_packing.hpp b/include/gfx/pal_packing.hpp index 6f4d602c..b9b26dd2 100644 --- a/include/gfx/pal_packing.hpp +++ b/include/gfx/pal_packing.hpp @@ -8,8 +8,6 @@ #include "defaultinitalloc.hpp" -#include "gfx/main.hpp" - struct Palette; class ProtoPalette; diff --git a/include/gfx/pal_sorting.hpp b/include/gfx/pal_sorting.hpp index 333401aa..29b742dd 100644 --- a/include/gfx/pal_sorting.hpp +++ b/include/gfx/pal_sorting.hpp @@ -4,7 +4,6 @@ #define RGBDS_GFX_PAL_SORTING_HPP #include -#include #include #include #include diff --git a/include/gfx/proto_palette.hpp b/include/gfx/proto_palette.hpp index a03d4ec9..fc75e9bd 100644 --- a/include/gfx/proto_palette.hpp +++ b/include/gfx/proto_palette.hpp @@ -3,7 +3,6 @@ #ifndef RGBDS_GFX_PROTO_PALETTE_HPP #define RGBDS_GFX_PROTO_PALETTE_HPP -#include #include #include #include diff --git a/include/link/main.hpp b/include/link/main.hpp index 7eb85da2..b6550f27 100644 --- a/include/link/main.hpp +++ b/include/link/main.hpp @@ -9,7 +9,6 @@ #include #include -#include "helpers.hpp" #include "linkdefs.hpp" // Variables related to CLI options diff --git a/include/link/output.hpp b/include/link/output.hpp index c72350ff..6aacc1a2 100644 --- a/include/link/output.hpp +++ b/include/link/output.hpp @@ -3,8 +3,6 @@ #ifndef RGBDS_LINK_OUTPUT_H #define RGBDS_LINK_OUTPUT_H -#include - #include "link/section.hpp" /* diff --git a/include/link/section.hpp b/include/link/section.hpp index 191f4493..7fa956e6 100644 --- a/include/link/section.hpp +++ b/include/link/section.hpp @@ -14,7 +14,6 @@ #include "linkdefs.hpp" #include "link/main.hpp" -#include "link/patch.hpp" struct FileStackNode; struct Section; diff --git a/include/platform.hpp b/include/platform.hpp index 54e357aa..2e20a8db 100644 --- a/include/platform.hpp +++ b/include/platform.hpp @@ -7,11 +7,11 @@ // MSVC doesn't have str(n)casecmp, use a suitable replacement #ifdef _MSC_VER - #include + #include // IWYU pragma: export #define strcasecmp _stricmp #define strncasecmp _strnicmp #else - #include + #include // IWYU pragma: export #endif // MSVC prefixes the names of S_* macros with underscores, @@ -24,21 +24,21 @@ // MSVC doesn't use POSIX types or defines for `read` #ifdef _MSC_VER - #include + #include // IWYU pragma: export #define STDIN_FILENO 0 #define STDOUT_FILENO 1 #define STDERR_FILENO 2 #define ssize_t int #define SSIZE_MAX INT_MAX #else - #include - #include - #include + #include // IWYU pragma: export + #include // IWYU pragma: export + #include // IWYU pragma: export #endif // MSVC uses a different name for O_RDWR, and needs an additional _O_BINARY flag #ifdef _MSC_VER - #include + #include // IWYU pragma: export #define O_RDWR _O_RDWR #define S_ISREG(field) ((field) & (_S_IFREG)) #define O_BINARY _O_BINARY @@ -50,7 +50,7 @@ // Windows has stdin and stdout open as text by default, which we may not want #if defined(_MSC_VER) || defined(__MINGW32__) - #include + #include // IWYU pragma: export #define setmode(fd, mode) _setmode(fd, mode) #else #define setmode(fd, mode) (0) diff --git a/src/asm/charmap.cpp b/src/asm/charmap.cpp index 649f79fd..638048d7 100644 --- a/src/asm/charmap.cpp +++ b/src/asm/charmap.cpp @@ -2,7 +2,6 @@ #include "asm/charmap.hpp" -#include #include #include #include @@ -11,8 +10,6 @@ #include "util.hpp" -#include "asm/main.hpp" -#include "asm/output.hpp" #include "asm/warning.hpp" // Charmaps are stored using a structure known as "trie". diff --git a/src/asm/fixpoint.cpp b/src/asm/fixpoint.cpp index cf713d17..426a98b1 100644 --- a/src/asm/fixpoint.cpp +++ b/src/asm/fixpoint.cpp @@ -6,9 +6,6 @@ #include -#include "asm/symbol.hpp" -#include "asm/warning.hpp" - #ifndef M_PI #define M_PI 3.14159265358979323846 #endif diff --git a/src/asm/fstack.cpp b/src/asm/fstack.cpp index 1a4c01d1..93aade5a 100644 --- a/src/asm/fstack.cpp +++ b/src/asm/fstack.cpp @@ -10,7 +10,6 @@ #include #include #include -#include #include "error.hpp" #include "helpers.hpp" diff --git a/src/asm/lexer.cpp b/src/asm/lexer.cpp index e0cb7091..973f3627 100644 --- a/src/asm/lexer.cpp +++ b/src/asm/lexer.cpp @@ -12,7 +12,6 @@ #include #include #include -#include #include #include #include diff --git a/src/asm/parser.y b/src/asm/parser.y index 9b062ce3..5df71221 100644 --- a/src/asm/parser.y +++ b/src/asm/parser.y @@ -45,7 +45,6 @@ %code { #include #include - #include #include #include #include diff --git a/src/asm/rpn.cpp b/src/asm/rpn.cpp index 1a2a2566..ff2cce83 100644 --- a/src/asm/rpn.cpp +++ b/src/asm/rpn.cpp @@ -3,7 +3,6 @@ #include "asm/rpn.hpp" #include -#include #include #include #include @@ -13,7 +12,6 @@ #include "opmath.hpp" -#include "asm/main.hpp" #include "asm/output.hpp" #include "asm/section.hpp" #include "asm/symbol.hpp" diff --git a/src/asm/section.cpp b/src/asm/section.cpp index 73366012..e4eda44a 100644 --- a/src/asm/section.cpp +++ b/src/asm/section.cpp @@ -12,6 +12,8 @@ #include #include +#include "helpers.hpp" + #include "asm/fstack.hpp" #include "asm/lexer.hpp" #include "asm/main.hpp" diff --git a/src/asm/symbol.cpp b/src/asm/symbol.cpp index 85807a68..b2c6f464 100644 --- a/src/asm/symbol.cpp +++ b/src/asm/symbol.cpp @@ -3,13 +3,11 @@ #include "asm/symbol.hpp" #include -#include #include #include #include #include "error.hpp" -#include "helpers.hpp" #include "version.hpp" #include "asm/fstack.hpp" diff --git a/src/fix/main.cpp b/src/fix/main.cpp index 8bd964df..440643a8 100644 --- a/src/fix/main.cpp +++ b/src/fix/main.cpp @@ -5,7 +5,6 @@ #include #include -#include #include #include #include diff --git a/src/gfx/main.cpp b/src/gfx/main.cpp index 60f8e5b6..7613c63d 100644 --- a/src/gfx/main.cpp +++ b/src/gfx/main.cpp @@ -5,11 +5,9 @@ #include #include #include -#include #include #include #include -#include #include #include #include diff --git a/src/gfx/pal_packing.cpp b/src/gfx/pal_packing.cpp index 99132306..bbf78bb6 100644 --- a/src/gfx/pal_packing.cpp +++ b/src/gfx/pal_packing.cpp @@ -4,10 +4,8 @@ #include #include -#include #include #include -#include #include #include #include @@ -15,6 +13,7 @@ #include "helpers.hpp" +#include "gfx/main.hpp" #include "gfx/proto_palette.hpp" using std::swap; diff --git a/src/gfx/pal_sorting.cpp b/src/gfx/pal_sorting.cpp index 1b5237e5..c6a35d81 100644 --- a/src/gfx/pal_sorting.cpp +++ b/src/gfx/pal_sorting.cpp @@ -3,11 +3,11 @@ #include "gfx/pal_sorting.hpp" #include +#include #include "helpers.hpp" #include "gfx/main.hpp" -#include "gfx/process.hpp" namespace sorting { diff --git a/src/gfx/pal_spec.cpp b/src/gfx/pal_spec.cpp index 3b685dfe..24974771 100644 --- a/src/gfx/pal_spec.cpp +++ b/src/gfx/pal_spec.cpp @@ -9,7 +9,6 @@ #include #include #include -#include #include #include #include @@ -17,9 +16,8 @@ #include #include #include -#include -#include +#include "helpers.hpp" #include "platform.hpp" #include "gfx/main.hpp" diff --git a/src/gfx/process.cpp b/src/gfx/process.cpp index 58d2c7a2..b66fab2d 100644 --- a/src/gfx/process.cpp +++ b/src/gfx/process.cpp @@ -5,13 +5,9 @@ #include #include #include -#include #include -#include -#include #include #include -#include #include #include #include diff --git a/src/gfx/proto_palette.cpp b/src/gfx/proto_palette.cpp index 258644f6..e1b80f10 100644 --- a/src/gfx/proto_palette.cpp +++ b/src/gfx/proto_palette.cpp @@ -2,6 +2,7 @@ #include "gfx/proto_palette.hpp" +#include #include #include "helpers.hpp" diff --git a/src/gfx/reverse.cpp b/src/gfx/reverse.cpp index 721ea095..0413f253 100644 --- a/src/gfx/reverse.cpp +++ b/src/gfx/reverse.cpp @@ -6,17 +6,14 @@ #include #include #include -#include #include #include #include #include -#include #include #include "defaultinitalloc.hpp" #include "file.hpp" -#include "helpers.hpp" #include "itertools.hpp" #include "gfx/main.hpp" diff --git a/src/link/assign.cpp b/src/link/assign.cpp index 8980a91f..a8b706d7 100644 --- a/src/link/assign.cpp +++ b/src/link/assign.cpp @@ -2,7 +2,6 @@ #include "link/assign.hpp" -#include #include #include #include @@ -14,9 +13,9 @@ #include "helpers.hpp" #include "itertools.hpp" #include "linkdefs.hpp" +#include "platform.hpp" #include "link/main.hpp" -#include "link/object.hpp" #include "link/output.hpp" #include "link/section.hpp" #include "link/symbol.hpp" diff --git a/src/link/object.cpp b/src/link/object.cpp index cf3c84cb..936fb897 100644 --- a/src/link/object.cpp +++ b/src/link/object.cpp @@ -2,7 +2,6 @@ #include "link/object.hpp" -#include #include #include #include @@ -17,11 +16,11 @@ #include "error.hpp" #include "helpers.hpp" #include "linkdefs.hpp" +#include "platform.hpp" #include "version.hpp" #include "link/assign.hpp" #include "link/main.hpp" -#include "link/patch.hpp" #include "link/sdas_obj.hpp" #include "link/section.hpp" #include "link/symbol.hpp" diff --git a/src/link/output.cpp b/src/link/output.cpp index ada4aec6..82c0c229 100644 --- a/src/link/output.cpp +++ b/src/link/output.cpp @@ -13,8 +13,9 @@ #include "error.hpp" #include "extern/utf8decoder.hpp" -#include "itertools.hpp" +#include "helpers.hpp" #include "linkdefs.hpp" +#include "platform.hpp" #include "link/main.hpp" #include "link/symbol.hpp" diff --git a/src/link/patch.cpp b/src/link/patch.cpp index a9919817..84d50a6c 100644 --- a/src/link/patch.cpp +++ b/src/link/patch.cpp @@ -5,22 +5,15 @@ #include #include #include -#include #include -#include -#include #include #include -#include "error.hpp" -#include "helpers.hpp" #include "opmath.hpp" -#include "platform.hpp" #include "linkdefs.hpp" #include "link/main.hpp" -#include "link/object.hpp" #include "link/section.hpp" #include "link/symbol.hpp" diff --git a/src/link/sdas_obj.cpp b/src/link/sdas_obj.cpp index 0213d1c5..adcee8e7 100644 --- a/src/link/sdas_obj.cpp +++ b/src/link/sdas_obj.cpp @@ -4,16 +4,13 @@ #include #include -#include #include #include #include -#include #include #include #include -#include "helpers.hpp" #include "linkdefs.hpp" #include "platform.hpp" diff --git a/src/link/section.cpp b/src/link/section.cpp index 7869d8b9..c2c7e67e 100644 --- a/src/link/section.cpp +++ b/src/link/section.cpp @@ -9,6 +9,7 @@ #include #include "error.hpp" +#include "helpers.hpp" std::vector> sectionList; std::unordered_map sectionMap; // Indexes into `sectionList` diff --git a/src/link/symbol.cpp b/src/link/symbol.cpp index b6272ece..c1feca08 100644 --- a/src/link/symbol.cpp +++ b/src/link/symbol.cpp @@ -2,15 +2,10 @@ #include "link/symbol.hpp" -#include #include #include -#include "error.hpp" -#include "helpers.hpp" - #include "link/main.hpp" -#include "link/object.hpp" #include "link/section.hpp" std::unordered_map symbols; diff --git a/src/linkdefs.cpp b/src/linkdefs.cpp index 40fa7a20..fcb7b04a 100644 --- a/src/linkdefs.cpp +++ b/src/linkdefs.cpp @@ -2,8 +2,6 @@ #include "linkdefs.hpp" -#include "platform.hpp" - using namespace std::literals; // The default values are the most lax, as they are used as-is by RGBASM; only RGBLINK has the full diff --git a/src/version.cpp b/src/version.cpp index 71d453d9..73330c2e 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -2,7 +2,6 @@ #include "version.hpp" -#include #include #include "helpers.hpp" diff --git a/test/gfx/rgbgfx_test.cpp b/test/gfx/rgbgfx_test.cpp index 58a40a5c..70ad9cc8 100644 --- a/test/gfx/rgbgfx_test.cpp +++ b/test/gfx/rgbgfx_test.cpp @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include