> After [JDK-8294281](https://bugs.openjdk.org/browse/JDK-8294281), it is now 
> possible to disable warnings for individual files instead for whole 
> libraries. I used this opportunity to go through all disabled warnings in 
> hotspot.
> 
> Any warnings that were only triggered in a few files were removed from 
> hotspot as a whole, and changed to be only disabled for those files.
> 
> Some warnings didn't trigger in any file anymore, and could just be removed.
> 
> Overall, this reduced the number of disabled warnings by roughly half for 
> gcc, clang and visual studio. The remaining warnings are sorted in 
> "frequency", that is, the first listed warnings are triggered in the most 
> number of files, while the last in the fewest number of files. So if anyone 
> were to try to address the remaining warnings, it would make sense to chop of 
> this list from the back.
> 
> I believe the warnings that are disabled on a per-file basis can most likely 
> be fixed relatively easily.
> 
> I have verified this by Oracle's internal CI system, and GitHub Actions. (But 
> I have not yet gotten a fully green run due to instabilities in GHA, however 
> this patch can't reasonably have anything to do with that.) As always, 
> warnings tend to differ a bit between compilers, so if someone wants to take 
> this on a spin with some other version, please go ahead. If I missed some 
> warning, in worst case we'll just have to add it back again, and in the 
> meanwhile `configure --disable-warnings-as-errors` is an okay workaround.
> 
> It also turned out that JDK-8294281 did not save the new per-file warnings in 
> VarDeps, so I had to move $1_WARNINGS_FLAGS from $1_BASE_CFLAGS to $1_CFLAGS 
> (and similar for C++).
> 
> Annoyingly, the assert macro triggers 
> `tautological-constant-out-of-range-compare` on clang, so while this is a 
> single problem in a single file, this erupts all over the place in debug 
> builds. If this can be fixed, the ugly extra `DISABLED_WARNINGS_clang += 
> tautological-constant-out-of-range-compare` for non-release builds can be 
> removed.

Magnus Ihse Bursie has updated the pull request incrementally with one 
additional commit since the last revision:

  Github workflow changes were not supposed to be in this PR...

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/10414/files
  - new: https://git.openjdk.org/jdk/pull/10414/files/8b4433e2..64c86d46

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=10414&range=20
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=10414&range=19-20

  Stats: 60 lines in 5 files changed: 0 ins; 52 del; 8 mod
  Patch: https://git.openjdk.org/jdk/pull/10414.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10414/head:pull/10414

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

Reply via email to