From 6ac90a5cc419f2dd3e22296ba4eb4efda3fc28e5 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Thu, 6 Nov 2025 18:15:22 -0700 Subject: [PATCH 01/14] Only use default flags with IWYU --- cmake/AISCompilerOptions.cmake | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/cmake/AISCompilerOptions.cmake b/cmake/AISCompilerOptions.cmake index a2e1dfa6..e5b2a02b 100644 --- a/cmake/AISCompilerOptions.cmake +++ b/cmake/AISCompilerOptions.cmake @@ -19,10 +19,16 @@ function (ais_set_compiler_flags target) endif() set(compiler_id "${CMAKE_${language}_COMPILER_ID}") set(compiler_version "${CMAKE_${language}_COMPILER_VERSION}") - if(compiler_id STREQUAL "GNU" OR compiler_id STREQUAL "NVIDIA") - get_ais_gnu_warning_flags(compiler_flags compiler_version) - elseif(compiler_id STREQUAL "Clang") - get_ais_clang_warning_flags(compiler_flags compiler_version) + + # Only use default flags with include-what-you-use. Otherwise you'll + # clutter the output with a lot of "unrecognized flags" warnings if + # there's mismatch between IWYU's clang and the compiler you are using. + if(NOT AIS_USE_IWYU) + if(compiler_id STREQUAL "GNU" OR compiler_id STREQUAL "NVIDIA") + get_ais_gnu_warning_flags(compiler_flags compiler_version) + elseif(compiler_id STREQUAL "Clang") + get_ais_clang_warning_flags(compiler_flags compiler_version) + endif() endif() target_compile_options(${target} PRIVATE $<$:${compiler_flags}>) if(BUILD_CODE_COVERAGE) From 680902fe9c4a59b6e9d808dd10ec2a02cd8bd081 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Thu, 6 Nov 2025 18:43:49 -0700 Subject: [PATCH 02/14] IWYU: Forward declare classes --- rocfile/src/async.cpp | 10 ++++++++++ rocfile/src/async.h | 13 +++++++++++++ rocfile/src/backend/asyncop-fallback.cpp | 10 ++++++++++ rocfile/src/backend/asyncop-fallback.h | 13 +++++++++++++ rocfile/src/backend/fallback.h | 10 ++++++++++ rocfile/src/batch/batch.h | 7 +++++++ rocfile/src/rocfile-private.h | 4 ++++ rocfile/src/state.cpp | 4 ++++ rocfile/src/state.h | 4 ++++ 9 files changed, 75 insertions(+) diff --git a/rocfile/src/async.cpp b/rocfile/src/async.cpp index 6ab3dfde..de38e97e 100644 --- a/rocfile/src/async.cpp +++ b/rocfile/src/async.cpp @@ -10,6 +10,16 @@ #include #include +namespace rocFile { +class IBuffer; +} +namespace rocFile { +class IFile; +} +namespace rocFile { +enum class IoType; +} + namespace rocFile { AsyncMonitor::AsyncMonitor() : is_finished{false} diff --git a/rocfile/src/async.h b/rocfile/src/async.h index 614c3813..7c4af59a 100644 --- a/rocfile/src/async.h +++ b/rocfile/src/async.h @@ -18,6 +18,19 @@ #include #include +namespace rocFile { +class IBuffer; +} +namespace rocFile { +class IFile; +} +namespace rocFile { +class IStream; +} +namespace rocFile { +enum class IoType; +} + namespace rocFile { class AsyncOp { diff --git a/rocfile/src/backend/asyncop-fallback.cpp b/rocfile/src/backend/asyncop-fallback.cpp index 486ea6b2..21f4cd46 100644 --- a/rocfile/src/backend/asyncop-fallback.cpp +++ b/rocfile/src/backend/asyncop-fallback.cpp @@ -10,6 +10,16 @@ #include #include +namespace rocFile { +class IFile; +} +namespace rocFile { +class IStream; +} +namespace rocFile { +enum class IoType; +} + using namespace rocFile; static void diff --git a/rocfile/src/backend/asyncop-fallback.h b/rocfile/src/backend/asyncop-fallback.h index 190063a0..baebf5f2 100644 --- a/rocfile/src/backend/asyncop-fallback.h +++ b/rocfile/src/backend/asyncop-fallback.h @@ -6,6 +6,19 @@ #include "async.h" +namespace rocFile { +class IBuffer; +} +namespace rocFile { +class IFile; +} +namespace rocFile { +class IStream; +} +namespace rocFile { +enum class IoType; +} + namespace rocFile { struct AsyncOpFallback : AsyncOp { diff --git a/rocfile/src/backend/fallback.h b/rocfile/src/backend/fallback.h index 5156cb61..4f052f24 100644 --- a/rocfile/src/backend/fallback.h +++ b/rocfile/src/backend/fallback.h @@ -9,6 +9,16 @@ #include "file.h" #include "io.h" +namespace rocFile { +class IBuffer; +} +namespace rocFile { +class IFile; +} +namespace rocFile { +enum class IoType; +} + namespace rocFile { struct Fallback : public Backend { diff --git a/rocfile/src/batch/batch.h b/rocfile/src/batch/batch.h index 22dfd0e8..b9f1adcb 100644 --- a/rocfile/src/batch/batch.h +++ b/rocfile/src/batch/batch.h @@ -16,6 +16,13 @@ #include #include +namespace rocFile { +class IBuffer; +} +namespace rocFile { +class IFile; +} + namespace rocFile { struct InvalidBatchHandle : public std::invalid_argument { diff --git a/rocfile/src/rocfile-private.h b/rocfile/src/rocfile-private.h index eec48f1c..25e7153b 100644 --- a/rocfile/src/rocfile-private.h +++ b/rocfile/src/rocfile-private.h @@ -8,6 +8,10 @@ #include "io.h" #include "rocfile.h" +namespace rocFile { +enum class IoType; +} + // NOTE: This is an internal API that we don't document, even though it's // "public" in the sense of being visible as a symbol in the deployed library diff --git a/rocfile/src/state.cpp b/rocfile/src/state.cpp index 0cf0ef53..e2fb8ff5 100644 --- a/rocfile/src/state.cpp +++ b/rocfile/src/state.cpp @@ -23,6 +23,10 @@ using std::shared_mutex; using std::shared_ptr; using std::unique_lock; +namespace rocFile { +struct Backend; +} + namespace rocFile { DriverState::DriverState() : ref_count{0}, backends{std::shared_ptr(new Fallback{})} diff --git a/rocfile/src/state.h b/rocfile/src/state.h index f939c39d..107e6e88 100644 --- a/rocfile/src/state.h +++ b/rocfile/src/state.h @@ -16,6 +16,10 @@ #include #include +namespace rocFile { +template struct Context; +} + namespace rocFile { /// @brief The driver is not initialized From 7b7bc09a134da113f322de1d41344fe063025e24 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Thu, 6 Nov 2025 18:55:56 -0700 Subject: [PATCH 03/14] IWYU: libmount and mountinfo --- rocfile/src/file.cpp | 1 + rocfile/src/mountinfo.cpp | 5 +++++ rocfile/src/mountinfo.h | 5 ++++- rocfile/src/state.cpp | 1 - rocfile/src/sys.cpp | 1 - rocfile/test/mountinfo.cpp | 1 + 6 files changed, 11 insertions(+), 3 deletions(-) diff --git a/rocfile/src/file.cpp b/rocfile/src/file.cpp index 01d8d42e..50c14021 100644 --- a/rocfile/src/file.cpp +++ b/rocfile/src/file.cpp @@ -5,6 +5,7 @@ #include "context.h" #include "file.h" +#include "mountinfo.h" #include "state.h" #include "sys.h" diff --git a/rocfile/src/mountinfo.cpp b/rocfile/src/mountinfo.cpp index 769fd65a..1fb3a143 100644 --- a/rocfile/src/mountinfo.cpp +++ b/rocfile/src/mountinfo.cpp @@ -7,8 +7,13 @@ #include "mountinfo.h" #include +#include #include +struct libmnt_context; +struct libmnt_fs; +struct libmnt_table; + namespace rocFile { LibMount::~LibMount() diff --git a/rocfile/src/mountinfo.h b/rocfile/src/mountinfo.h index d0db6a2f..ccd48c6e 100644 --- a/rocfile/src/mountinfo.h +++ b/rocfile/src/mountinfo.h @@ -5,10 +5,13 @@ #pragma once -#include #include #include +struct libmnt_context; +struct libmnt_fs; +struct libmnt_table; + namespace rocFile { /// @brief The filesystem type diff --git a/rocfile/src/state.cpp b/rocfile/src/state.cpp index e2fb8ff5..87d2d308 100644 --- a/rocfile/src/state.cpp +++ b/rocfile/src/state.cpp @@ -6,7 +6,6 @@ #include "backend/fallback.h" #include "batch/batch.h" #include "buffer.h" -#include "mountinfo.h" #include "state.h" #include "sys.h" diff --git a/rocfile/src/sys.cpp b/rocfile/src/sys.cpp index 21b80a0a..0b3c74eb 100644 --- a/rocfile/src/sys.cpp +++ b/rocfile/src/sys.cpp @@ -7,7 +7,6 @@ #include #include -#include #include #include diff --git a/rocfile/test/mountinfo.cpp b/rocfile/test/mountinfo.cpp index 1acf1511..a7a7fb45 100644 --- a/rocfile/test/mountinfo.cpp +++ b/rocfile/test/mountinfo.cpp @@ -7,6 +7,7 @@ #include "mmountinfo.h" #include "mountinfo.h" +#include #include #include From 083d486665c45a56e73efd9965fd169319f369d8 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Thu, 6 Nov 2025 18:59:35 -0700 Subject: [PATCH 04/14] IWYU: aiscp example --- hipfile/examples/aiscp/aiscp.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hipfile/examples/aiscp/aiscp.cpp b/hipfile/examples/aiscp/aiscp.cpp index 5d51dddf..14e1715a 100644 --- a/hipfile/examples/aiscp/aiscp.cpp +++ b/hipfile/examples/aiscp/aiscp.cpp @@ -12,13 +12,16 @@ * Note: Currently SOURCE's size must be > 0 and a multiple of 4096. */ -#include #include +#include #include #include +#include +#include #include #include +#include #include /// @brief Open and register a file From 8bc65ee1b074401cc845b6077219c481315835e0 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Thu, 6 Nov 2025 19:06:46 -0700 Subject: [PATCH 05/14] IWYU: Compile-only hipFile test programs --- hipfile/test/test-hipfile-batch.cpp | 5 +++-- hipfile/test/test-hipfile.cpp | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/hipfile/test/test-hipfile-batch.cpp b/hipfile/test/test-hipfile-batch.cpp index 7ae772a5..221afe9d 100644 --- a/hipfile/test/test-hipfile-batch.cpp +++ b/hipfile/test/test-hipfile-batch.cpp @@ -13,15 +13,16 @@ #include "hipfile-warnings.h" -#include +#include #include #include #include +#include +#include #include #include #include -#include #define MAX_BATCH_IO_OPS 16 #define MAX_BUFFER_SIZE 4096 diff --git a/hipfile/test/test-hipfile.cpp b/hipfile/test/test-hipfile.cpp index b73e26dd..114d9ba8 100644 --- a/hipfile/test/test-hipfile.cpp +++ b/hipfile/test/test-hipfile.cpp @@ -11,15 +11,16 @@ #include "hipfile.h" -#include +#include #include #include #include +#include +#include #include #include #include -#include void static print_drv_props(hipFileDriverProps_t hipfile_props) { From 9589427483b4183b6d1cdbf12676c67358b23e42 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Thu, 6 Nov 2025 19:12:58 -0700 Subject: [PATCH 06/14] IWYU: magic-word.h --- shared/test/magic-word.h | 1 + 1 file changed, 1 insertion(+) diff --git a/shared/test/magic-word.h b/shared/test/magic-word.h index 2d6182a5..1532a2db 100644 --- a/shared/test/magic-word.h +++ b/shared/test/magic-word.h @@ -8,6 +8,7 @@ #include #include #include +#include #include static const char *message = "Ah ah ah, you didn't say the magic word!\n" From 0cca8f155ebf9fed6f84281203aef434ab0cecc1 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Thu, 6 Nov 2025 19:20:57 -0700 Subject: [PATCH 07/14] IWYU: hipFile system test programs --- hipfile/test/system/buffer.cpp | 3 ++- hipfile/test/system/version.cpp | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/hipfile/test/system/buffer.cpp b/hipfile/test/system/buffer.cpp index e41504b4..7e3c1007 100644 --- a/hipfile/test/system/buffer.cpp +++ b/hipfile/test/system/buffer.cpp @@ -8,9 +8,10 @@ #include "test-common.h" #include "test-shared-fixtures.h" +#include #include #include -#include +#include HIPFILE_WARN_NO_GLOBAL_CTOR_OFF diff --git a/hipfile/test/system/version.cpp b/hipfile/test/system/version.cpp index bfc6c215..dc4d1f74 100644 --- a/hipfile/test/system/version.cpp +++ b/hipfile/test/system/version.cpp @@ -7,7 +7,9 @@ #include "hipfile-warnings.h" #include "test-common.h" +#include #include +#include HIPFILE_WARN_NO_GLOBAL_CTOR_OFF From 210d8293fd6107370f066a95a7f38bdf913b9413 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 7 Nov 2025 01:03:07 -0700 Subject: [PATCH 08/14] IWYU: Rest of hipFile test code --- hipfile/test/hipfile-rocfile.cpp | 7 +++++-- hipfile/test/main.cpp | 6 +----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/hipfile/test/hipfile-rocfile.cpp b/hipfile/test/hipfile-rocfile.cpp index be7d8ab3..78a46f68 100644 --- a/hipfile/test/hipfile-rocfile.cpp +++ b/hipfile/test/hipfile-rocfile.cpp @@ -5,12 +5,15 @@ #include "hipfile.h" #include "hipfile-rocfile.h" -#include "test-common.h" - #include "hipfile-warnings.h" #include "invalid-enum.h" +#include "rocfile.h" +#include "test-common.h" #include +#include +#include +#include // Put tests inside the macros to suppress the global constructor // warnings diff --git a/hipfile/test/main.cpp b/hipfile/test/main.cpp index 9b646b6e..1c8b8000 100644 --- a/hipfile/test/main.cpp +++ b/hipfile/test/main.cpp @@ -3,15 +3,11 @@ * SPDX-License-Identifier: MIT */ -#include "test-common.h" - #include "hipfile-warnings.h" #include "invalid-enum.h" #include -#include - -#include +#include using namespace std; From c33ba9992254c9ec7cfb54cd6859e756e70a6b9e Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 7 Nov 2025 01:17:16 -0700 Subject: [PATCH 09/14] IWYU: hipFile source code (AMD) --- hipfile/src/amd_detail/hipfile.cpp | 11 +++++------ hipfile/src/common/hipfile-common.cpp | 2 ++ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/hipfile/src/amd_detail/hipfile.cpp b/hipfile/src/amd_detail/hipfile.cpp index 74d58db9..ef50f3c2 100644 --- a/hipfile/src/amd_detail/hipfile.cpp +++ b/hipfile/src/amd_detail/hipfile.cpp @@ -4,17 +4,16 @@ */ #include "hipfile-rocfile.h" +#include "hipfile-types.h" #include "hipfile.h" - #include "rocfile.h" -#include - -#include - #include +#include +#include #include -#include +#include +#include #include using namespace std; diff --git a/hipfile/src/common/hipfile-common.cpp b/hipfile/src/common/hipfile-common.cpp index f1329dbb..3d67c8d9 100644 --- a/hipfile/src/common/hipfile-common.cpp +++ b/hipfile/src/common/hipfile-common.cpp @@ -5,6 +5,8 @@ #include "hipfile.h" +#include + const char * hipFileOpStatusError(hipFileOpError_t status) { From 73bc051719bb2e331a987b1f4fc7bdb5a6717adf Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 7 Nov 2025 01:28:31 -0700 Subject: [PATCH 10/14] IWYU: MT test programs --- rocfile/test/batch/batch_mt.cpp | 2 +- rocfile/test/state_mt.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/rocfile/test/batch/batch_mt.cpp b/rocfile/test/batch/batch_mt.cpp index 2b944f0a..ba53d80e 100644 --- a/rocfile/test/batch/batch_mt.cpp +++ b/rocfile/test/batch/batch_mt.cpp @@ -9,7 +9,6 @@ // #include "batch/batch.h" - #include "rocfile.h" #include @@ -18,6 +17,7 @@ #include #include #include +#include #include #include #include diff --git a/rocfile/test/state_mt.cpp b/rocfile/test/state_mt.cpp index 98dce6ae..95f7d9f7 100644 --- a/rocfile/test/state_mt.cpp +++ b/rocfile/test/state_mt.cpp @@ -8,19 +8,19 @@ // Just run the program. It takes no special arguments. #include "context.h" -#include "state.h" - #include "rocfile.h" - -#include +#include "state.h" #include #include +#include #include #include +#include #include #include #include +#include #include #include #include From c960c32cd6df42a9a0e245f56f2cc8e9cc338152 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 7 Nov 2025 02:34:46 -0700 Subject: [PATCH 11/14] IWYU: rocFile test code --- rocfile/test/async.cpp | 9 +++++++- rocfile/test/batch/batch.cpp | 19 +++++++++------- rocfile/test/buffer.cpp | 17 +++++++------- rocfile/test/context.cpp | 2 ++ rocfile/test/driver.cpp | 16 ++++++------- rocfile/test/handle.cpp | 21 +++++++++-------- rocfile/test/hip.cpp | 8 +++++-- rocfile/test/io.cpp | 44 ++++++++++++++++++++---------------- rocfile/test/misc.cpp | 10 ++++---- rocfile/test/mountinfo.cpp | 13 ++++++++++- rocfile/test/rocfile.cpp | 11 +++++---- rocfile/test/stream.cpp | 6 ++++- 12 files changed, 108 insertions(+), 68 deletions(-) diff --git a/rocfile/test/async.cpp b/rocfile/test/async.cpp index e5e85a57..fc887fdf 100644 --- a/rocfile/test/async.cpp +++ b/rocfile/test/async.cpp @@ -7,19 +7,26 @@ #include "backend/asyncop-fallback.h" #include "hip.h" #include "hipfile-warnings.h" +#include "io.h" #include "mbuffer.h" #include "mfile.h" #include "mhip.h" #include "mstream.h" #include "msys.h" +#include "rocfile.h" #include #include #include -#include +#include #include +#include +#include +#include #include #include +#include +#include // Put tests inside the macros to suppress the global constructor // warnings diff --git a/rocfile/test/batch/batch.cpp b/rocfile/test/batch/batch.cpp index 1a0a1d66..c8a219e9 100644 --- a/rocfile/test/batch/batch.cpp +++ b/rocfile/test/batch/batch.cpp @@ -3,21 +3,24 @@ * SPDX-License-Identifier: MIT */ -#include "mbuffer.h" -#include "mfile.h" -#include "mstate.h" -#include "rocfile-test.h" - #include "batch/batch.h" -#include "context.h" +#include "buffer.h" +#include "file.h" #include "hipfile-warnings.h" #include "invalid-enum.h" +#include "mbuffer.h" +#include "mfile.h" +#include "mstate.h" #include "rocfile.h" +#include "rocfile-test.h" #include "state.h" +#include +#include #include - -#include +#include +#include +#include using ::testing::_; using ::testing::DoDefault; diff --git a/rocfile/test/buffer.cpp b/rocfile/test/buffer.cpp index 80a4d34d..a966e02d 100644 --- a/rocfile/test/buffer.cpp +++ b/rocfile/test/buffer.cpp @@ -3,24 +3,23 @@ * SPDX-License-Identifier: MIT */ -#include "rocfile-test.h" - -#include "mhip.h" - #include "buffer.h" #include "context.h" #include "hip.h" +#include "hipfile-warnings.h" +#include "mhip.h" #include "rocfile.h" -#include "rocfile-private.h" +#include "rocfile-test.h" #include "state.h" -#include "hipfile-warnings.h" - +#include +#include +#include #include #include #include - -#include +#include +#include using namespace rocFile; diff --git a/rocfile/test/context.cpp b/rocfile/test/context.cpp index 75d449c1..01afb73c 100644 --- a/rocfile/test/context.cpp +++ b/rocfile/test/context.cpp @@ -6,7 +6,9 @@ #include "context.h" #include "hip.h" #include "hipfile-warnings.h" + #include +#include using namespace rocFile; diff --git a/rocfile/test/driver.cpp b/rocfile/test/driver.cpp index 15d49e0b..3ca76e47 100644 --- a/rocfile/test/driver.cpp +++ b/rocfile/test/driver.cpp @@ -3,20 +3,20 @@ * SPDX-License-Identifier: MIT */ -#include "rocfile-test.h" - +#include "hipfile-warnings.h" #include "mhip.h" #include "mmountinfo.h" #include "msys.h" - #include "rocfile.h" -#include "rocfile-private.h" - -#include "hipfile-warnings.h" - -#include +#include "rocfile-test.h" +#include "sys.h" +#include #include +#include +#include +#include +#include using namespace rocFile; using namespace testing; diff --git a/rocfile/test/handle.cpp b/rocfile/test/handle.cpp index 2a2e9985..9cee9e76 100644 --- a/rocfile/test/handle.cpp +++ b/rocfile/test/handle.cpp @@ -3,21 +3,24 @@ * SPDX-License-Identifier: MIT */ -#include "rocfile-test.h" - -#include "msys.h" -#include "mmountinfo.h" - #include "context.h" #include "file.h" +#include "hipfile-warnings.h" +#include "msys.h" +#include "mmountinfo.h" #include "rocfile.h" +#include "rocfile-test.h" #include "state.h" +#include "sys.h" -#include "hipfile-warnings.h" - -#include - +#include #include +#include +#include +#include +#include +#include +#include #include using namespace rocFile; diff --git a/rocfile/test/hip.cpp b/rocfile/test/hip.cpp index 93779cc7..eba418dc 100644 --- a/rocfile/test/hip.cpp +++ b/rocfile/test/hip.cpp @@ -3,10 +3,14 @@ * SPDX-License-Identifier: MIT */ +#include "hip.h" +#include "hipfile-warnings.h" #include "mhip.h" -#include "rocfile-test.h" -#include "hip.h" +#include +#include +#include +#include using namespace rocFile; using namespace testing; diff --git a/rocfile/test/io.cpp b/rocfile/test/io.cpp index 32b66cc0..95b559ea 100644 --- a/rocfile/test/io.cpp +++ b/rocfile/test/io.cpp @@ -3,39 +3,43 @@ * SPDX-License-Identifier: MIT */ -#include "rocfile-test.h" - -#include "mbackend.h" -#include "mbuffer.h" -#include "mfile.h" -#include "mhip.h" -#include "mstate.h" -#include "msys.h" - #include "backend.h" #include "backend/fallback.h" #include "buffer.h" #include "context.h" #include "file.h" #include "hip.h" -#include "rocfile-private.h" +#include "hipfile-types.h" +#include "hipfile-warnings.h" +#include "io.h" +#include "mbackend.h" +#include "mbuffer.h" +#include "mfile.h" +#include "mhip.h" +#include "mstate.h" +#include "msys.h" #include "rocfile.h" +#include "rocfile-test.h" #include "state.h" +#include "sys.h" -#include "hipfile-warnings.h" - -#include -#include - -#include -#include - +#include +#include #include -#include +#include +#include +#include +#include #include -#include +#include +#include +#include +#include #include #include +#include +#include +#include #include using namespace rocFile; diff --git a/rocfile/test/misc.cpp b/rocfile/test/misc.cpp index 43d322d1..1082e549 100644 --- a/rocfile/test/misc.cpp +++ b/rocfile/test/misc.cpp @@ -3,15 +3,15 @@ * SPDX-License-Identifier: MIT */ -#include "rocfile-test.h" - -#include "rocfile.h" - +#include "context.h" #include "hipfile-warnings.h" +#include "rocfile.h" +#include "rocfile-test.h" +#include #include - #include +#include using namespace rocFile; diff --git a/rocfile/test/mountinfo.cpp b/rocfile/test/mountinfo.cpp index a7a7fb45..818ee171 100644 --- a/rocfile/test/mountinfo.cpp +++ b/rocfile/test/mountinfo.cpp @@ -7,9 +7,20 @@ #include "mmountinfo.h" #include "mountinfo.h" +#include +#include #include +#include +#include +#include #include -#include +#include +#include +#include + +struct libmnt_context; +struct libmnt_fs; +struct libmnt_table; using namespace rocFile; using namespace testing; diff --git a/rocfile/test/rocfile.cpp b/rocfile/test/rocfile.cpp index 5289e5a8..27732ede 100644 --- a/rocfile/test/rocfile.cpp +++ b/rocfile/test/rocfile.cpp @@ -11,15 +11,18 @@ * All tests in this file are expected to pass on a CPU-only node. */ -#include "mbatch.h" -#include "mstate.h" -#include "rocfile-test.h" - #include "batch/batch.h" #include "hipfile-warnings.h" +#include "mbatch.h" +#include "mstate.h" #include "rocfile.h" +#include "rocfile-test.h" +#include #include +#include +#include +#include using namespace rocFile; diff --git a/rocfile/test/stream.cpp b/rocfile/test/stream.cpp index a009cda3..46dd40de 100644 --- a/rocfile/test/stream.cpp +++ b/rocfile/test/stream.cpp @@ -8,13 +8,17 @@ #include "msys.h" #include "rocfile.h" #include "rocfile-test.h" -#include "state.h" #include "stream.h" +#include +#include #include #include #include +#include #include +#include +#include using namespace rocFile; From d0da1efd8c7406ab03a670464f80b4562ab136b8 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 7 Nov 2025 02:56:21 -0700 Subject: [PATCH 12/14] IWYU: rocFile source files --- rocfile/src/async.cpp | 3 +++ rocfile/src/backend/asyncop-fallback.cpp | 6 +++++- rocfile/src/backend/fallback.cpp | 14 ++++++++++++-- rocfile/src/batch/batch.cpp | 8 +++++--- rocfile/src/buffer.cpp | 8 +++----- rocfile/src/file.cpp | 5 +++-- rocfile/src/hip.cpp | 4 ++-- rocfile/src/rocfile.cpp | 11 +++++++---- 8 files changed, 40 insertions(+), 19 deletions(-) diff --git a/rocfile/src/async.cpp b/rocfile/src/async.cpp index de38e97e..adab7a70 100644 --- a/rocfile/src/async.cpp +++ b/rocfile/src/async.cpp @@ -5,10 +5,13 @@ #include "async.h" #include "context.h" +#include "stream.h" #include "sys.h" #include +#include #include +#include namespace rocFile { class IBuffer; diff --git a/rocfile/src/backend/asyncop-fallback.cpp b/rocfile/src/backend/asyncop-fallback.cpp index 21f4cd46..cd951d3c 100644 --- a/rocfile/src/backend/asyncop-fallback.cpp +++ b/rocfile/src/backend/asyncop-fallback.cpp @@ -3,12 +3,16 @@ * SPDX-License-Identifier: MIT */ +#include "async.h" #include "asyncop-fallback.h" +#include "buffer.h" #include "context.h" +#include "hip.h" #include "sys.h" -#include #include +#include +#include namespace rocFile { class IFile; diff --git a/rocfile/src/backend/fallback.cpp b/rocfile/src/backend/fallback.cpp index 20665e48..5cea6ef3 100644 --- a/rocfile/src/backend/fallback.cpp +++ b/rocfile/src/backend/fallback.cpp @@ -3,11 +3,21 @@ * SPDX-License-Identifier: MIT */ +#include "backend.h" +#include "buffer.h" #include "context.h" #include "fallback.h" -#include "rocfile.h" +#include "file.h" +#include "hip.h" +#include "io.h" +#include "sys.h" -#include +#include +#include +#include +#include +#include +#include #include using namespace rocFile; diff --git a/rocfile/src/batch/batch.cpp b/rocfile/src/batch/batch.cpp index 3f92eb74..024ca359 100644 --- a/rocfile/src/batch/batch.cpp +++ b/rocfile/src/batch/batch.cpp @@ -4,18 +4,20 @@ */ #include "batch.h" +#include "buffer.h" #include "context.h" #include "file.h" -#include "state.h" - -#include "hipfile-warnings.h" #include "rocfile.h" +#include "state.h" +#include #include #include #include #include +#include #include +#include #include namespace rocFile { diff --git a/rocfile/src/buffer.cpp b/rocfile/src/buffer.cpp index 81d15cce..efef86df 100644 --- a/rocfile/src/buffer.cpp +++ b/rocfile/src/buffer.cpp @@ -6,14 +6,12 @@ #include "buffer.h" #include "context.h" #include "hip.h" -#include "state.h" - -#include -#include #include +#include #include -#include +#include +#include #include #include #include diff --git a/rocfile/src/file.cpp b/rocfile/src/file.cpp index 50c14021..eec07bd6 100644 --- a/rocfile/src/file.cpp +++ b/rocfile/src/file.cpp @@ -6,12 +6,13 @@ #include "context.h" #include "file.h" #include "mountinfo.h" -#include "state.h" #include "sys.h" #include #include -#include +#include +#include +#include #include using std::optional; diff --git a/rocfile/src/hip.cpp b/rocfile/src/hip.cpp index 8f1a2cab..4e63d35a 100644 --- a/rocfile/src/hip.cpp +++ b/rocfile/src/hip.cpp @@ -3,11 +3,11 @@ * SPDX-License-Identifier: MIT */ -#include "hip.h" -#include "io.h" #include "context.h" +#include "hip.h" #include +#include #include namespace rocFile { diff --git a/rocfile/src/rocfile.cpp b/rocfile/src/rocfile.cpp index 307463a0..10f2b60d 100644 --- a/rocfile/src/rocfile.cpp +++ b/rocfile/src/rocfile.cpp @@ -3,21 +3,24 @@ * SPDX-License-Identifier: MIT */ +#include "backend.h" +#include "batch/batch.h" #include "buffer.h" -#include "backend/fallback.h" #include "context.h" #include "file.h" #include "hip.h" +#include "hipfile-types.h" #include "hipfile-warnings.h" #include "io.h" #include "rocfile.h" #include "rocfile-private.h" #include "state.h" +#include "sys.h" -#include -#include +#include +#include #include -#include +#include using namespace rocFile; From 97e22452c61c249d1b8bd2ce13a8a105a16870a2 Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 7 Nov 2025 03:41:00 -0700 Subject: [PATCH 13/14] IWYU: rocFile source + stragglers --- hipfile/include/hipfile.h | 9 +++------ rocfile/include/rocfile.h | 8 ++------ rocfile/src/async.h | 5 +---- rocfile/src/backend/asyncop-fallback.h | 4 ++++ rocfile/src/backend/fallback.cpp | 2 +- rocfile/src/backend/fallback.h | 6 ++++-- rocfile/src/batch/batch.h | 3 --- rocfile/src/buffer.h | 4 +--- rocfile/src/file.h | 2 +- rocfile/src/hip.h | 5 ++++- rocfile/src/rocfile-private.h | 4 +++- rocfile/src/state.cpp | 6 ++---- rocfile/src/state.h | 6 +++++- rocfile/src/stream.cpp | 5 +++-- rocfile/src/stream.h | 3 ++- rocfile/src/sys.cpp | 2 +- rocfile/src/sys.h | 3 --- rocfile/test/io.cpp | 2 +- shared/hipfile-types.h | 2 ++ 19 files changed, 40 insertions(+), 41 deletions(-) diff --git a/hipfile/include/hipfile.h b/hipfile/include/hipfile.h index eecc5cbb..c9705ed7 100644 --- a/hipfile/include/hipfile.h +++ b/hipfile/include/hipfile.h @@ -5,16 +5,13 @@ #pragma once +#include #include - -#include -#include - #include #include #include - -#include +#include +#include #if defined(__GNUC__) #define HIPFILE_API __attribute__((visibility("default"))) diff --git a/rocfile/include/rocfile.h b/rocfile/include/rocfile.h index afd0e02c..424d33be 100644 --- a/rocfile/include/rocfile.h +++ b/rocfile/include/rocfile.h @@ -5,16 +5,12 @@ #pragma once +#include #include - -#include -#include - #include #include #include - -#include +#include #if defined(__GNUC__) #define ROCFILE_API __attribute__((visibility("default"))) diff --git a/rocfile/src/async.h b/rocfile/src/async.h index 7c4af59a..fe5e8ea2 100644 --- a/rocfile/src/async.h +++ b/rocfile/src/async.h @@ -4,10 +4,7 @@ */ #pragma once -#include "buffer.h" -#include "file.h" -#include "io.h" -#include "stream.h" +#include "hipfile-types.h" #include #include diff --git a/rocfile/src/backend/asyncop-fallback.h b/rocfile/src/backend/asyncop-fallback.h index baebf5f2..cb44766e 100644 --- a/rocfile/src/backend/asyncop-fallback.h +++ b/rocfile/src/backend/asyncop-fallback.h @@ -5,6 +5,10 @@ #pragma once #include "async.h" +#include "hipfile-types.h" + +#include +#include namespace rocFile { class IBuffer; diff --git a/rocfile/src/backend/fallback.cpp b/rocfile/src/backend/fallback.cpp index 5cea6ef3..e0894bf0 100644 --- a/rocfile/src/backend/fallback.cpp +++ b/rocfile/src/backend/fallback.cpp @@ -15,8 +15,8 @@ #include #include #include -#include #include +#include #include #include diff --git a/rocfile/src/backend/fallback.h b/rocfile/src/backend/fallback.h index 4f052f24..94bd75b9 100644 --- a/rocfile/src/backend/fallback.h +++ b/rocfile/src/backend/fallback.h @@ -6,8 +6,10 @@ #pragma once #include "backend.h" -#include "file.h" -#include "io.h" +#include "hipfile-types.h" + +#include +#include namespace rocFile { class IBuffer; diff --git a/rocfile/src/batch/batch.h b/rocfile/src/batch/batch.h index b9f1adcb..0d4cb31d 100644 --- a/rocfile/src/batch/batch.h +++ b/rocfile/src/batch/batch.h @@ -5,12 +5,9 @@ #pragma once -#include "buffer.h" -#include "file.h" #include "rocfile.h" #include -#include #include #include #include diff --git a/rocfile/src/buffer.h b/rocfile/src/buffer.h index 8668f4c8..d20878f5 100644 --- a/rocfile/src/buffer.h +++ b/rocfile/src/buffer.h @@ -5,11 +5,9 @@ #pragma once -#include "hip.h" - #include +#include #include -#include #include #include diff --git a/rocfile/src/file.h b/rocfile/src/file.h index 0b5dff6b..996157a3 100644 --- a/rocfile/src/file.h +++ b/rocfile/src/file.h @@ -10,9 +10,9 @@ #include #include -#include #include #include +#include #include namespace rocFile { diff --git a/rocfile/src/hip.h b/rocfile/src/hip.h index dbfa1ea5..754801f2 100644 --- a/rocfile/src/hip.h +++ b/rocfile/src/hip.h @@ -5,9 +5,12 @@ #pragma once +#include +#include #include - +#include #include +#include /* hipxx (hip++) * diff --git a/rocfile/src/rocfile-private.h b/rocfile/src/rocfile-private.h index 25e7153b..060887c7 100644 --- a/rocfile/src/rocfile-private.h +++ b/rocfile/src/rocfile-private.h @@ -5,9 +5,11 @@ #pragma once -#include "io.h" +#include "hipfile-types.h" #include "rocfile.h" +#include + namespace rocFile { enum class IoType; } diff --git a/rocfile/src/state.cpp b/rocfile/src/state.cpp index 87d2d308..f7806179 100644 --- a/rocfile/src/state.cpp +++ b/rocfile/src/state.cpp @@ -6,12 +6,10 @@ #include "backend/fallback.h" #include "batch/batch.h" #include "buffer.h" +#include "file.h" #include "state.h" -#include "sys.h" +#include "stream.h" -#include "hipfile-warnings.h" - -#include #include #include #include diff --git a/rocfile/src/state.h b/rocfile/src/state.h index 107e6e88..68e42141 100644 --- a/rocfile/src/state.h +++ b/rocfile/src/state.h @@ -8,12 +8,16 @@ #include "backend.h" #include "batch/batch.h" #include "buffer.h" -#include "context.h" #include "file.h" +#include "rocfile.h" #include "stream.h" +#include +#include +#include #include #include +#include #include namespace rocFile { diff --git a/rocfile/src/stream.cpp b/rocfile/src/stream.cpp index 13d24c80..e0e07841 100644 --- a/rocfile/src/stream.cpp +++ b/rocfile/src/stream.cpp @@ -8,9 +8,10 @@ #include "sys.h" #include -#include - #include +#include +#include +#include namespace rocFile { diff --git a/rocfile/src/stream.h b/rocfile/src/stream.h index 383b0ca1..073f940a 100644 --- a/rocfile/src/stream.h +++ b/rocfile/src/stream.h @@ -4,7 +4,8 @@ */ #pragma once -#include "hip.h" +#include +#include #include #include diff --git a/rocfile/src/sys.cpp b/rocfile/src/sys.cpp index 0b3c74eb..7cb46c7b 100644 --- a/rocfile/src/sys.cpp +++ b/rocfile/src/sys.cpp @@ -5,10 +5,10 @@ #include "sys.h" -#include #include #include #include +#include namespace rocFile { diff --git a/rocfile/src/sys.h b/rocfile/src/sys.h index ba275440..d21aa9a9 100644 --- a/rocfile/src/sys.h +++ b/rocfile/src/sys.h @@ -8,13 +8,10 @@ #include #include #include -#include #include -#include #include #include -#include /* sys wraps system APIs used by rocFile which enables unit tests to mock system calls. * diff --git a/rocfile/test/io.cpp b/rocfile/test/io.cpp index 95b559ea..5b661dd0 100644 --- a/rocfile/test/io.cpp +++ b/rocfile/test/io.cpp @@ -33,8 +33,8 @@ #include #include #include -#include #include +#include #include #include #include diff --git a/shared/hipfile-types.h b/shared/hipfile-types.h index ea1fffec..9d7cf75b 100644 --- a/shared/hipfile-types.h +++ b/shared/hipfile-types.h @@ -4,6 +4,8 @@ */ #pragma once +#include + // *********************************************************************** // PLATFORM-INDEPENDENT TYPES // *********************************************************************** From 8646940a145b8ef0bfc54835a4af7215b49fb55c Mon Sep 17 00:00:00 2001 From: Dana Robinson Date: Fri, 7 Nov 2025 04:15:58 -0700 Subject: [PATCH 14/14] IWYU: More stragglers --- rocfile/src/hip.cpp | 1 - rocfile/test/hip.cpp | 1 - rocfile/test/io.cpp | 1 - rocfile/test/misc.cpp | 1 - rocfile/test/stream.cpp | 2 -- 5 files changed, 6 deletions(-) diff --git a/rocfile/src/hip.cpp b/rocfile/src/hip.cpp index 4e63d35a..b575842a 100644 --- a/rocfile/src/hip.cpp +++ b/rocfile/src/hip.cpp @@ -7,7 +7,6 @@ #include "hip.h" #include -#include #include namespace rocFile { diff --git a/rocfile/test/hip.cpp b/rocfile/test/hip.cpp index eba418dc..597384dc 100644 --- a/rocfile/test/hip.cpp +++ b/rocfile/test/hip.cpp @@ -10,7 +10,6 @@ #include #include #include -#include using namespace rocFile; using namespace testing; diff --git a/rocfile/test/io.cpp b/rocfile/test/io.cpp index 5b661dd0..9d3cc82a 100644 --- a/rocfile/test/io.cpp +++ b/rocfile/test/io.cpp @@ -23,7 +23,6 @@ #include "state.h" #include "sys.h" -#include #include #include #include diff --git a/rocfile/test/misc.cpp b/rocfile/test/misc.cpp index 1082e549..4571e65e 100644 --- a/rocfile/test/misc.cpp +++ b/rocfile/test/misc.cpp @@ -10,7 +10,6 @@ #include #include -#include #include using namespace rocFile; diff --git a/rocfile/test/stream.cpp b/rocfile/test/stream.cpp index 46dd40de..20bea404 100644 --- a/rocfile/test/stream.cpp +++ b/rocfile/test/stream.cpp @@ -12,8 +12,6 @@ #include #include -#include -#include #include #include #include