RFR: 8074844 : Resolve disabled warnings for libfontmanager
Philip Race
philip.race at oracle.com
Thu Aug 27 19:39:30 UTC 2020
Bug : https://bugs.openjdk.java.net/browse/JDK-8074844
Webrev : http://cr.openjdk.java.net/~prr/8074844/index.html
This resolves the disabled compiler warnings in what is now quite a
small fontmanager library.
I've built windows, mac and linux in our build system and run our full
battery of automated tests and sanity checked manual.
A quick run down of how the warnings map to the changes
DISABLED_WARNINGS_clang := sign-compare,
DISABLED_WARNINGS_gcc := sign-compare unused-function int-to-pointer-cast,
Sign compare in both of the above are the reason for the majority of the changes in freetypeScaler.c
and also the change in hb-jdk.h
unused-function was _free_nothing in
src/java.desktop/share/native/libfontmanager/hb-jdk-font.cc
int-to-pointer-cast was an issue for 32 bit as raised here https://bugs.openjdk.java.net/browse/JDK-8250605
when a previous removal broke 32 bit Linux. Since we don't build or test that I was flying in the dark here
using the warnings from that bug. The changes for this are those in
src/java.desktop/share/native/libfontmanager/DrawGlyphList.c
src/java.desktop/unix/native/libfontmanager/X11FontScaler.c
DISABLED_WARNINGS_microsoft := 4018 4146 4244 4996,
The unique windows warnings were
./open/src/java.desktop/share/native/libfontmanager/HBShaper.c(216): error C2220: the following warning is treated as an error
./open/src/java.desktop/share/native/libfontmanager/HBShaper.c(216): warning C4244: '=': conversion from 'jlong' to 'long', possible loss of data
./open/src/java.desktop/share/native/libfontmanager/freetypeScaler.c(1216): error C2220: the following warning is treated as an error
./open/src/java.desktop/share/native/libfontmanager/freetypeScaler.c(1216): warning C4146: unary minus operator applied to unsigned type, result still unsigned
./open/src/java.desktop/windows/native/libfontmanager/lcdglyph.c(128): error C2220: the following warning is treated as an error
[ ./open/src/java.desktop/windows/native/libfontmanager/lcdglyph.c(128): warning C4996: 'GetVersion': was declared deprecated
GetVersion isn't needed any more since we aren't likely to be running on anything older than XP !
-phil.
More information about the build-dev
mailing list