RFR: 8349847: Support configuring individual lint categories as errors [v9]

Archie Cobbs acobbs at openjdk.org
Thu Aug 14 03:50:27 UTC 2025


> This PR enhances the `-Werror` flag to support lint categories just like `-Xlint` does. For example `-Werror:all,-preview` would cause an error if any warning not in the `preview` lint category occurred.
> 
> The existing `-Xlint` flag has a particular behavior when conflicting flags are combined (e.g., `-Xlint:all -Xlint:none -Xlint:foo -Xlint:-foo` is equivalent to `-Xlint:all`). This behavior has been factored out and Javadocumented so that both `-Xlint` and `-Werror` can have this same "parsing" logic.
> 
> See the CSR [JDK-8350044](https://bugs.openjdk.org/browse/JDK-8350044) for details on how the new flag behaves in certain corner cases.

Archie Cobbs has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 16 commits:

 - Address review comments.
 - Merge branch 'master' into JDK-8349847
 - Merge branch 'master' into JDK-8349847 to fix cross-compiling build problem.
 - Merge branch 'master' into JDK-8349847 to fix conflicts.
 - Merge branch 'master' into JDK-8349847 to fix conflicts.
 - Merge branch 'JDK-8359596' into JDK-8349847 to add "-Xlint:none" fix.
 - Ensure that "-Xlint:none" still works for the affected warnings.
   
   The extra checks for "-Xlint:none" are needed now because of JDK-8352612,
   which changed the behavior of "-Xlint:none" to no longer imply "-nowarn",
   which allowed the affected warnings to get away with skipping that check.
 - Minor naming and Javadoc tweaks.
 - Merge branch 'JDK-8359596' into JDK-8349847
 - No need for /nodynamiccopyright/ with this test.
 - ... and 6 more: https://git.openjdk.org/jdk/compare/8cd79752...e8f5539f

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

Changes: https://git.openjdk.org/jdk/pull/23622/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23622&range=08
  Stats: 268 lines in 15 files changed: 188 ins; 35 del; 45 mod
  Patch: https://git.openjdk.org/jdk/pull/23622.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23622/head:pull/23622

PR: https://git.openjdk.org/jdk/pull/23622


More information about the compiler-dev mailing list