RFR: 8349847: Support configuring individual lint categories as errors [v8]
Vicente Romero
vromero at openjdk.org
Wed Aug 13 21:54:18 UTC 2025
On Thu, 31 Jul 2025 14:24:35 GMT, Archie Cobbs <acobbs at openjdk.org> wrote:
>> 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 14 commits:
>
> - 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.
> - Restore behavior when both -Xlint:options and -Xlint:-options are given.
> - Merge branch 'master' into JDK-8349847
> - ... and 4 more: https://git.openjdk.org/jdk/compare/5f357fa2...2bdc2ab0
src/jdk.compiler/share/classes/com/sun/tools/javac/util/Options.java line 268:
> 266:
> 267: // Create the initial set
> 268: EnumSet<LintCategory> categories;
should we check that the option parameter is either `Xlint` or `Werror`?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23622#discussion_r2274730323
More information about the compiler-dev
mailing list