RFR: 8339156: Use more fine-granular clang unused warnings

Magnus Ihse Bursie ihse at openjdk.org
Thu Aug 29 20:43:20 UTC 2024


On Thu, 29 Aug 2024 18:44:22 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:

>> Currently, we issue -Wno-unused for all files in clang, which is a rather big sledgehammer to get rid of some warnings that proliferate in a few areas of the build.
>> 
>> We should instead leave -Wunused turned on (as done by -Wall) and use a much more fine-grained approach to disabling specific warnings in specific files or libraries.
>> 
>> This is similar to what has been done for gcc in JDK-8339120.
>
> make/autoconf/flags-cflags.m4 line 266:
> 
>> 264:       # These warnings will never be turned on, since they generate too many
>> 265:       # false positives.
>> 266:       DISABLED_WARNINGS="unknown-warning-option unused-parameter"
> 
> JDK-8339120 added -Wunused-const-variable=1 and -Wunused-result to gcc's
> WARNINGS_ENABLE_ADDITIONAL, to "make up" for the corresponding removal of
> disabling -Wunused. That isn't done here. I assume that was intentional,
> probably to avoid needing more of the specific disables in this PR. That's
> fine. We can do more warning option cleanups later in conjunction with
> corresponding code changes.

No, it was just not needed by clang. `-Wunused-result` is enabled by `-Wunused-value` which is enabled by `-Wunused` which is enabled by `-Wall`. Or something like that. I think it made sense, but the documentation was bad so you had to jump around to understand how things were related.

`Wunused-const-variable=1` does not exist in clang, but whatever the closest matching thing was, was enabled as well indirectly already.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20770#discussion_r1737153568


More information about the core-libs-dev mailing list