On Sun, 23 Mar 2025 21:14:47 GMT, Doug Simon <dnsi...@openjdk.org> wrote:

> This PR adds `bin/sort_includes.py`, a python3 script to check that blocks of 
> include statements in C++ files are sorted alphabetically and that there's at 
> least one blank line between user and sys includes (as per the [style 
> guide](https://github.com/openjdk/jdk/blob/master/doc/hotspot-style.md#source-files)).
> This script can also update files with unsorted includes. The second commit 
> in this PR shows the result of running:
> 
> python3 ./bin/sort_includes.py ./src/hotspot
> 
> To prevent an include being reordered, put at least one non-space character 
> after the closing `"` or `>`. See `src/hotspot/share/adlc/archDesc.cpp` for 
> an example.
> 
> Assuming this PR is integrated, jcheck could be updated to use it to ensure 
> include statements remain sorted.

bin/sort_includes.py line 117:

> 115:                 for filename in filenames:
> 116:                     file = Path(dirpath).joinpath(filename)
> 117:                     if file.suffix in (".cpp", "hpp"):

`"hpp"` -> `".hpp"`

This bug explains why there are no modified `*.hpp` files in the PR. And I've 
discovered that blindly sorting includes in these files (especially 
`*.inline.hpp` files) causes building to break quickly. This is another reason 
for the more incremental approach I suggest at 
https://github.com/openjdk/jdk/pull/24180#issuecomment-2752572125

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/24180#discussion_r2012961564

Reply via email to