Skip to content

Commit 273a553

Browse files
Ozaqclaude
andcommitted
Ensure headers are self-contained after IWYU cleanup
Downstream projects include eckit headers in arbitrary combinations and orders. A header that silently depends on a transitive include will break when unrelated changes elsewhere shuffle include graphs. Run IWYU 0.25 across the codebase to add missing direct includes and remove unnecessary ones, so every header compiles on its own. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent e82c6c4 commit 273a553

File tree

1,319 files changed

+6460
-3287
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,319 files changed

+6460
-3287
lines changed

.clang-format

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,17 @@ ForEachMacros:
5959
- foreach
6060
- Q_FOREACH
6161
- BOOST_FOREACH
62+
IncludeBlocks: Regroup
6263
IncludeCategories:
63-
- Regex: '^<.*\.h>'
64+
# eckit headers
65+
- Regex: '"eckit/.*"'
6466
Priority: 1
65-
- Regex: "^<.*"
67+
SortPriority: 0
68+
# Other project headers (quoted)
69+
- Regex: '".*"'
6670
Priority: 2
67-
- Regex: ".*"
71+
# System / third-party headers (angle brackets)
72+
- Regex: '<.*>'
6873
Priority: 3
6974
IncludeIsMainRegex: "([-_](test|unittest))?$"
7075
IndentCaseLabels: true

regressions/ECKIT-166.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ BUG ECKIT-166
55
66
*/
77

8-
#include <iostream>
9-
108
#include "eckit/mpi/Comm.h"
119
#include "eckit/runtime/Main.h"
1210

11+
#include <iostream>
12+
1313
using namespace eckit;
1414

1515
void run(int argc, char** argv) {

regressions/ECKIT-175.cc

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,15 @@ BUG ECKIT-175
2828
2929
*/
3030

31-
#include <cstdlib>
32-
#include <iostream>
33-
#include <map>
34-
31+
#include "eckit/log/Channel.h"
3532
#include "eckit/log/Log.h"
3633
#include "eckit/runtime/Main.h"
3734
#include "eckit/runtime/Tool.h"
3835

36+
#include <cstdlib>
37+
#include <iostream>
38+
#include <string>
39+
3940
using namespace eckit;
4041

4142
void myrun() {

regressions/ECKIT-221.cc

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,18 @@ FEATURE ECKIT-221
77
88
*/
99

10-
#include <cstdlib>
11-
#include <iostream>
12-
#include <map>
13-
#include <memory>
14-
10+
#include "eckit/filesystem/PathName.h"
1511
#include "eckit/io/DataHandle.h"
12+
#include "eckit/io/SharedBuffer.h"
1613
#include "eckit/mpi/Comm.h"
1714
#include "eckit/runtime/Tool.h"
1815
#include "eckit/utils/Translator.h"
1916

17+
#include <cstdlib>
18+
#include <iostream>
19+
#include <memory>
20+
#include <string>
21+
2022
using namespace eckit;
2123

2224
class MyTool : public Tool {

src/eckit/bases/Loader.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
// Baudouin Raoult - ECMWF Jul 96
1313

1414
#pragma once
15-
#include "eckit/eckit.h"
16-
1715
#include "eckit/container/ClassExtent.h"
1816

1917
//-----------------------------------------------------------------------------

src/eckit/cmd/AliasCmd.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@
99
*/
1010

1111
#include "eckit/cmd/AliasCmd.h"
12+
13+
#include "eckit/cmd/Arg.h"
14+
#include "eckit/cmd/CmdArg.h"
1215
#include "eckit/cmd/CmdParser.h"
16+
#include "eckit/value/Value.h"
1317

1418
//----------------------------------------------------------------------------------------------------------------------
1519

src/eckit/cmd/AliasCmd.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
#pragma once
1515
#include "eckit/cmd/CmdResource.h"
1616

17+
#include <iosfwd>
18+
#include <string>
19+
1720

1821
namespace eckit {
1922

src/eckit/cmd/Arg.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
#include "eckit/cmd/Arg.h"
1212

13+
#include <cstddef>
1314
#include <iostream>
1415

1516
namespace eckit {

src/eckit/cmd/CmdApplication.cc

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,25 @@
1212
/// @author Florian Rathgeber
1313
/// @date June 2015
1414

15-
#include <unistd.h>
16-
#include <fstream>
17-
1815
#include "eckit/cmd/CmdApplication.h"
16+
1917
#include "eckit/config/Resource.h"
2018
#include "eckit/filesystem/PathName.h"
2119
#include "eckit/io/SockBuf.h"
20+
#include "eckit/log/Channel.h"
21+
#include "eckit/log/CodeLocation.h"
22+
#include "eckit/log/Log.h"
2223
#include "eckit/net/TCPServer.h"
24+
#include "eckit/net/TCPSocket.h"
2325
#include "eckit/runtime/Main.h"
2426
#include "eckit/runtime/Monitor.h"
27+
#include "eckit/types/Types.h"
28+
29+
#include <exception>
30+
#include <fstream>
31+
#include <iostream>
32+
#include <unistd.h>
33+
#include <vector>
2534

2635
namespace eckit {
2736

src/eckit/cmd/CmdApplication.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
#pragma once
1616
#include "eckit/cmd/CmdParser.h"
1717

18+
#include <iosfwd>
19+
#include <string>
20+
1821
namespace eckit {
1922

2023
//----------------------------------------------------------------------------------------------------------------------

0 commit comments

Comments
 (0)