On Mon, 2 Feb 2026 12:45:50 GMT, Leo Korinth <[email protected]> wrote:
> Allow conversion warnings in subsets of the code base. By allowing this, we > can improve the code base in parts, and see that those parts do not regress > in the future. > > My approach to implement this is by adding support to our make system to > recognise and handle "variable packs". A "variable pack" is a list of quoted > variable "appendings". It will be picked up by `NamedParamsMacroTemplate` and > there recognised by the lack of an assignment operator that is always used > when sending variables to macros today. To support sending lists of "variable > appendings", the appendings must quote assignment, spaces and quotes. This > would be cleanest to implement by hex or base64 encode the string. However, > this is extremely hard to do in make, and I prefer not calling the likes of > `od` or `base64` to make the code portable and fast. > > With this infrastructure I implement a simple recursive utility to find all > files matching a pattern in a folder; I then transform that list to variable > assignments that will add compiler warnings for those files. > > This approach is extremely flexible. I can for example combine many calls to > the `ExtendFlags` macro with different source directories and different > patterns. > > The macro will expand to something like (depending on compiler): > `module_file1.cpp_CXXFLAGS+=-Wconversion` > `module_file2.cpp_CXXFLAGS+=-Wconversion` > > this can flexibly be combined with other flags to overlap: > `module_file2.cpp_CXXFLAGS+=-Wotherflag` > `module_file3.cpp_CXXFLAGS+=-Wotherflag` > > (note the overlapping sets of flags `file1 -Wconversion`, `file2 -Wconversion > -Wotherflag`, `file3 -Wotherflag`) This pull request has now been integrated. Changeset: c16ac37d Author: Leo Korinth <[email protected]> URL: https://git.openjdk.org/jdk/commit/c16ac37d501c0c04bd68be8f500ea3dc24b28fa4 Stats: 74 lines in 4 files changed: 70 ins; 0 del; 4 mod 8376892: Allow conversion warnings in subsets of the code base Reviewed-by: kbarrett, erikj, azafari ------------- PR: https://git.openjdk.org/jdk/pull/29523
